Spring
[Spring Boot] 자동 설정
charminseok
2021. 2. 12. 00:14
@SpringBootApplication 어노테이션에 @ComponentScan, @EnableAutoConfiguration이 있어서 자동적으로 웹 애플리케이션으로 된다.
먼저 @ComponentScan이 빈을 등록하고 @EnableAutoConfiguration에서는 spring.factories에 있는 Configuration중 조건에 맞는 것으로 적용되어 빈이 생성된다.
자동 설정 만드는 방법
- 의존성 추가
- @Configuration 파일 작성
- spring.factories 파일 만들기
- spring.factories. 자동설정 파일 추가
- mvn install
프로젝트에서 자동설정을 가져왔을때, 직접 만든 빈이 있는데 덮어쓰기가 되는 문제가 생기는데 이를 해결하기 위한 방법으로 자동설정 프로젝트의 빈에 @ConditionalOnMissingBean을 추가해 준다.
@ConditionalOnMissingBean은 같은 타입의 빈이 없을 경우에 빈으로 등록해 준다.
하지만 빈을 직접 등록하지 않고 프로퍼티를 사용할 수 있다.(@EnableConfigurationProperties(), application.properties 안에 직접 값을 입력하면 된다.)