@SpringBootApplication
-> 1. @SpringBootConfiguration 2. @ComponentScan. 3. @EnableAutoConfiguration
빈등록은 2단계로 나눠져 있다.
1단계: @ComponentScan
2단계: @EnableAutoConfiguration
=> 위 3개의 애노테이션 중 @EnableAutoConfiguration이 없어도 스프링부트는 작동한다.
단, 웹 애플리케이션으로 띄울 수는 없음
해당 애노테이션이 SevletWebServerFactory 빈을 만들기 때문
@ComponentScan은 아래와 같은 애노테이션을 스캔
- @Component
- @Configuration @Repository @Service @Controller @RestController
@EnableAutoConfiguration
- spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration
- @Configuration
- @ConditionalOnXxxYyyZzz
예시)



spring.factories 파일과 spring-autoconfigure-metadata.properties 파일은 모두 스프링 부트 자동 구성(auto-configuration)을 구현하기 위해 사용되는 파일
spring.factories 파일은 org.springframework.boot.autoconfigure.EnableAutoConfiguration의 구현체를 나열하여 자동 구성을 활성화하는 방법을 제공
반면에 spring-autoconfigure-metadata.properties 파일은 자동 구성이 제공하는 구성 속성(configuration properties)을 설명하는 데 사용
이 파일은 자동 구성 메타데이터에 대한 정보를 담고 있으며, 자동 구성에서 사용되는 구성 속성의 이름, 타입, 기본값 및 설명 등의 정보를 포함
따라서 spring.factories는 자동 구성을 활성화하는 방법을, spring-autoconfigure-metadata.properties는 자동 구성 메타데이터를 정의하는 방법을 제공
두 파일 모두 스프링 부트의 자동 구성에 필수적
'스프링 > 스프링부트개념과 활용' 카테고리의 다른 글
의존성 관리 응용 (0) | 2023.03.31 |
---|---|
의존성 관리 이해 (0) | 2023.03.30 |