[STS]Spring Bean

박두팔이·2022년 11월 21일
0

spring bean?

  • spring에서 POJO(plain, old java object)라고 부름
  • Beans는 애플리케이션의 핵심을 이루는 객체이며 Spring IOC(Inversion of Control)컨테이너에 의해 인스턴스화, 관리, 생성된다.
  • Beans는 우리가 컨테이너에 공급하는 XML(설정 메타 데이터)파일에 의해 생성된다.
  • 애플리케이션의 객체가 지정되면, 해당 객체는 getBean()메서드를 통해 가져올 수 있다.
  • 우리가 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아니다. ApplicationContext.getBean()으로 얻어질 수 있는 객체는 빈이다.

스프링 빈 등록방식?

ComponentScan

  • 컴포넌트 스캔은 @Component를 명시하여 빈을 추가한다. 클래스 위에 @Component를 붙이면 스프링이 알아서 스프링 컨테이너에 빈을 등록한다.

  • 컴포넌트 스캔의 대상?

       @Component 외에 
       @Controller, @Service,
       @Repository, @Configuration는
       @Component의 상속을 받고 있으므로 
       모두 컴포넌트 스캔의 대상이다.
  • @Controller

@Controller: 스프링 MVC 컨트롤러로 인식된다.

  • @Repository

@Repository: 스프링 데이터 접근 계층으로 인식하고 해당 계층에서 발생하는 예외는 모두 DataAccessException으로 변환한다.

  • @Service

@Service: 특별한 처리는 하지 않으나, 개발자들이 핵심 비즈니스 계층을 인식하는데 도움을 준다.

  • @Configuration

@Configuration: 스프링 설정 정보로 인식하고 스프링 빈이 싱글톤을 유지하도록 추가 처리를 한다. (물론 스프링 빈 스코프가 싱글톤이 아니라면 추가 처리를 하지 않음.)

profile
기억을 위한 기록 :>

0개의 댓글