1.自動裝配,簡單來說就是自動把第三方組件的Bean裝載到Spring IOC容器裡面,不需要開發人員再去寫Bean的裝配配置, 2.在Spring Boot應用裡面,只需要在啟動類加上@SpringBootApplication註解就可以實現自動裝配。 ...
SpringBoot中自動裝配機制的原理
1.自動裝配,簡單來說就是自動把第三方組件的Bean裝載到Spring IOC容器裡面,不需要開發人員再去寫Bean的裝配配置,
2.在Spring Boot應用裡面,只需要在啟動類加上@SpringBootApplication註解就可以實現自動裝配。
3.@SpringBootApplication是一個複合註解,真正實現自動裝配的註解是@EnableAutoConfigureation
4.自動裝配的實現主要依靠三個核心關鍵技術
① 引入Starter啟動依賴組件的時候,這個組件裡面必須要包含@Configuration配置類,在這個配置類裡面通過@Bean註解聲明需要裝配到IOC容器的Bean對象。
② 這個配置類是放在第三方的jar包裡面,然後通過SpringBoot中的約定由於配置思想,把這個配置類的全路徑放在classpath:/META-INF/spring.factories文件中,這樣SpringBoot就可以知道第三方jar包裡面的配置類的位置,這個步驟主要是用到了Spring裡面的SpringFactoriesLoader來完成的。
③ SpringBoot拿到所第三方jar包裡面聲明的配置類以後,再通過Spring提供的ImportSelector介面,實現對這些配置類的動態載入
在我看來,SpringBoot是約定優於配置這一理念下的產物,所以在很多的地方,都會看到這類的思想,它的出現,讓開發人員更加聚焦在業務代碼的編寫上,而不需要去關心和業務無關的配置。