스프링 IoC컨테이너 @Autowire,@Component

1195 단어 스프링SpringSpring

@Autowired

등록된 빈을 주입하여 사용하고 싶을때 사용하는 Annotation

  • 필요한 의존객체의 타입에 해당하는 빈을 찾아 주입한다.
  • required의 기본값은 true이므로 빈을 찾지 못하면 App구동 실패.
  • 의존성이 옵션일 때는 @Autowired(required = false) 옵션을 주면 된다.
  • constructor, setter, field에서 사용할 수 있다.( 생성자는 스프링 4.3부터 생략가능)

1. 해당 타입의 빈이 한개인경우.

정상적으로 빈을 찾아 주입한다.

2. 해당 타입의 빈이 여러개인 경우.

  1. 여러 개의 빈중 하나의 빈에 @Primary 어노테이션을 붙여준다.
  2. @Qualifer(" ")에 Bean의 이름을 명시하여 준다.
    이때 Bean의 이름은 default로 className이다.
  3. Collection을통해 해당 타입의 모든 빈을 받아올 수 있다.
@Autowired
List<BeanType> beans

Component

  • Repository, Service, Controller, Configuration이 있다.

ComponentScan

  • @Component가 붙은 객체를 빈으로 등록한다.

좋은 웹페이지 즐겨찾기