Java/Spring Framework

Auto Configuration

재심 2022. 10. 30. 14:14

[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