본문 바로가기

Spring/Core

Spring Core - Annotation

Contents

  • Autowire
  • ComponentScan

 

@Autowire

Autowire 의 동작원리

 

 

@BeanPostProcessor 의 인터페이스 중 

AutowiredAnnotationBeanPostProcessor 가 동작하면서 채워주게 된다.

 

applicationContext 가 @BeanPostProcessor 들을 찾는다.

그 중에 AutowiredAnnotationBeanPostProcessor 가 있는데 ,

일반 bean 들에 이걸 적용을 하는 거라고 볼 수 있다.

 

그냥 이런게 있다 정도만 알아두자

 

 

빈을 찾아 주입 하는 방법들에 대해 알아보자

 

  • 생성자 주입
  • 세터 주입
  • 필드 주입

이것들은 너무 많이 본것들이라 예시는 생략하도록 하겠다

중복되는 타입이 있을 경우엔

  • @Primary
  • Qualifier
  • List로 모든 타입의 빈들을 가져오는 방법

이 있다.

 

 

 

@Component Scan

 

스프링 3.1 부터 도입이 되었고,

basePackages 문자열인데,

이 패키지 부터 하위의 모든 컴포넌트들을 스캔하는거라고 볼수있다.

그래서 스프링 부트에서는 @SpringBootApplication 어노테이션이 있는 클래스 패키지 부터

하위 있는 클래스들을 스캔한다.

 

Filter로 걸러주는 옵션들이 있다.

이건 그냥 걸러주는게 있구나 하고 넘어가자