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

최기곤·2021년 1월 13일
0

스프링프레임워크

목록 보기
2/8

@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가 붙은 객체를 빈으로 등록한다.
profile
놀면서 일하고 일하면서 놀고~ 해삐~

0개의 댓글