강조되는 부분이라 기록할 생각이다. 추가로 기록할 부분 생기면 업데이트 할 예정이다.
Spring Boot AutoConfiguration 자동 설정, 원리
- Spring Boot는 Spring과 마찬가지로 component-scan을 통해서 component들을 찾아서 bean을 생성
- 이 과정으로 설정한 bean들(@Repository, @Service, @Controller, @RestController, @Configuration에 등록한 @Bean과 같은 설정들)이 생성
- Spring Boot에서 미리 작성된 autoconfiguration에 의해 추가적인 bean들도 같이 생성
@EnableAutoConfiguration
- Spring Boot에서 Spring에서 많이 쓰는 스프링 빈들을 자동적으로 컨테이너에 등록하는 역할
autoconfiguration기능을 사용하겠다는 설정
- component scan을 통해서 모든 component 들의 정보와 Spring Boot가 spring.factories 파일에 사전에 정의한 AutoConfiguration 내용에 의해 bean 생성 진행
- Spring Boot의 meta 파일(spring-boot-autoconfigure/META-INF/spring.factories)을 읽어서 미리 정의 되어있는 자바 설정 파일(@Configuration)들을 빈으로 등록하는 역할 수행