@EnableAutoConfiguration

이영재·2022년 6월 27일
0

@SpringBootApplication 애노테이션을 통해 Spring boot에서 Bean을 등록하는 과정은 크게 두 단계로 나눌 수 있다.

  • 1단계: @ComponentScan
  • 2단계: @EnableAutoConfiguration

1단계 @ComponentScan

  • 위 애노테이션(@ComponentScan)이 붙은 클래스가 위치한 패키지를 포함하여 하위 패키지들 내 @Component 애노테이션을 가진 클래스들을 스캔해서 Bean으로 등록한다.
  • @Configuration, @Repository, @Service, @Controller, @RestController 애노테이션을 가진 클래스들도 스캔해서 Bean으로 등록한다.

2단계 @EnableAutoConfiguration

  • spring.factories 설정값을 읽는다.
    • org.springframework.boot.autoconfigure.EnableAutoConfiguration
      해당 키값 아래 등록된 설정 파일(@Configuration)들 빈으로 등록
    • @ConditionalOnXxxYyyZzz 애노테이션에 정의된 조건에 따라 빈으로 등록
profile
왜why를 생각하는 두괄롬이 되자!

0개의 댓글