Rooted In Develop

Spring Boot 원리 : 자동 설정(Auto Configuration) 본문

Back End/Spring Boot

Spring Boot 원리 : 자동 설정(Auto Configuration)

RootedIn 2019. 9. 2. 23:35

이 글은 인프런의 백기선님의 강좌를 수강하며 정리한 글입니다.

 

Spring Boot의 자동 설정 기능에 대해 알아보자.

 

 

1. @SpringBootApplication

 

먼저 프로젝트를 생성한 후 기본 패키지 아래 *Application.java의 @SpringBootApplication을 확인한다.

 

@SpringBootApplication의 세부코드로 들어가면 아래의 애노테이션이 선언되어 있다.

  • @ComponentScan
  • @EnableAutoConfiguration

2. @ComponentScan

  • @Component
  • @Configuration @Repository @Service @Controller @RestController

@ComponentScan은 선언된 패키지를 포함한 하위 패키지의 Component를 Scan하여 Bean으로 등록한다.

그렇기 때문에 기본 설정에서는 기본 패키지 하위로 패키지를 생성하여야 Bean으로 등록된다.(중요!)

 

기본 패키지가 me.rooted.boot일 때 me.rooted.boot.* 의 Bean은 등록이 되지만, me.rooted.legacy.* 의 Bean은 등록되지 않는다.


3. @EnableAutoConfiguration

Dependency 목록에서 spring-boot-autoconfigure-2.1.7.RELEASE.jar에 META-INF/spring.factories 파일이 있다.

 

파일을 열어보면, #Auto Configure 밑에 해당하는 패키지들의 AutoConfiguration이 선언되어 있다.

 

그리고 jar파일 밑에 선언된 패키지의 클래스들로부터 설정값을 Bean으로 등록한다.

 

이로 인해 자동 설정이 가능한 것이다.

 

 

 

Comments