啟動時
Last updated
Was this helpful?
Last updated
Was this helpful?
@EnableAutoConfiguration - 自動配置
@SpringBootConfiguration
@Configuration - 配置 Springboot
@ComponentScan - 掃描元件
透過 @EnableAutoConfiguration 配置,裝配所有會用的 Bean, 並創建一個 Spring 的 ApplicationContext 實例。
讓 Spring Boot 根據 classpath 中的jar包依賴進行自動配置。
主要透過 @Import(AutoConfigurationImportSelector.class),使其能夠完成自動配置的功效。
AutoConfigurationImportSelector 使用 SpringFramework 的 SpringFactoriesLoader 支持。
可以將所有 @Configuration 並符合的配置,將其加載到 springboot 創建並使用的 IOC 容器。
Spring Boot 將自動掃描 @SpringBootApplication 所在類別的同層 package 以及下層 package 裡的Bean,所以入口類建議就配置在 grounpID + arctifactID 組合的包名下。
透過 JVM 加入 -Ddebug=true
作為參數傳遞即可。
搭配 Maven 引入的 jar 包,自行配置。
在官方 springboot 中,只要已經在 org.springframework.boot.autoconfigure 就會自動配置,若不含在裡面,就必須自行建立 bean 使其能夠被偵測到。
透過 @SpringBootConfiguration 配置
標註此類別為 Springboot 的 @Configuration,為了明確表達意圖,其功能同理。
唯一差別在於 @SpringBootConfiguration 能為其自動定位,在單元或集成測試特別有用。
同樣也可以在此類別加入 @Bean,也會被偵測到,因為有 @Configuration。
透過 @ComponentScan 配置
掃描所有的標註 @Component 的元件。
透過搭配 @Conditional 註解,依據配置,在滿足其條件之後才會加載進 context 。