[Auto Configuration?]
AutoConfiguration을 알아보기 전에 "@SpringBootApplication"을 먼저 알아본다.
"@SpringBootApplication"은 3가지 어노테이션을 합친것
- "@SpringBootConfiguration": "@Configuration"과 같은 기능을 한다.
- "@EnableAutoConfiguration": "/reousrce/META-INF/spring.factories중 EnableAutoConfiguration에 정의된 Configuration들을 자동으로 빈등록한다.
- "@ComponentScan": 컴포넌트 어노테이션을 모두 스캔해서 빈으로 등록
이 때 ComponentScan이 먼저 일어난 후 AutoConfiguration의 Bean들이 등록된다.
AutoConfiguration은 스프링부트의 자동설정 의존성에 따라 설정이 자동으로 적용되는 옵션이다.
ex) h2의존성이 자동설정 클래스 목록에 존재하면 자동으로 인메모리 데이터베이스에 접근하도록 하는 것이다.
DataSourceAutoConfiguration
- 별도의 설정이 없으면 인메모리의 DataSourceBean을 자동으로 생성해주게 된다.
- Spring의 DataSourceAutoConfiguration은 DataSource 빈이 존재하지 않는 경우에만 알아서 빈을 만들어주게되고 이미 있으면 만들지 않게된다.
AutoConfigureBefore를 통해 DataSourceAutoConfiguration 빈이 생기기 전에 DcmDataSourceAutoConfiguration을 만들도록 지정하고 있다.
-> 스프링이 자동으로 만드는 datasourcebean은 안생길것이다.
ConditionalOnProperty를 통해 ebay.kr.dcm property가 있는 경우에만 AutoConfiguration이 되도록 하는 옵션이다.
'Java > Spring Framework' 카테고리의 다른 글
RestClient 알아보기 (0) | 2024.08.30 |
---|---|
Annotation 정리 (0) | 2022.10.30 |
Bean 생성 (0) | 2022.10.30 |