본문 바로가기
Dev/Spring Boot

[스프링 부트 개념과 활용] 자동 설정 이해

by dev_jsk 2020. 8. 18.
728x90
반응형

@SpringBootApplication

@ComponentScanEnableAutoConfiguration이 존재

 

Bean 은 2단계로 나뉘어서 읽힘

1단계 : @ComponentScan

2단계 : @EnableAutoConfiguration

 

@ComponentScan

@Component가 달린 클래스를 스캔해서 빈으로 등록

@Configuration, @Repository, @Service, @Controller, @RestController까지 스캔해서 빈으로 등록

@ComponentScan이 달린 클래스 하위 클래스를 스캔한다.

 

@EnableAutoConfiguration

AutoConfiguration은 결국 Configuration이다. 즉, Bean을 등록하는 자바 설정 파일

spring-boot-autoconfigure.jar/META-INF/spring.factories 내부에 여러 Configuration들이 있고 조건에 따라 Bean을 등록

META-INF/spring.factories
Auto Configure 설정 정보

 

메인 클래스(@SpringBootApplication)를 실행하면, @EnableAutoConfiguration에 의해 spring.factories안에 들어있는 수많은 자동 설정들이 조건에 따라 적용이 되어 수 많은 Bean들이 생성되고, 스프링 부트 어플리케이션이 실행

728x90
반응형

댓글