當前位置:編程學習大全網 - 源碼下載 - spring boot自動裝配原理

spring boot自動裝配原理

首先打開壹個基本的springboot項目,點進去@SpringBootApplication註解。

可以根據名字知道實現自動裝配應該是上面的@EnableAutoConfiguration註解,繼續點進去

這時候對spring註解比較了解的同學應該能感覺到實現原理就在@Import(AutoConfigurationImportSelector.class)這個註解中,@Import註解的參數可以是靜態類(用作直接導入)也可以是實現了ImportSelector接口的類,當是實現了ImportSelector會根據實現的selectImports方法來對類進行導入。讓我們看看AutoConfigurationImportSelector的實現

圖中loadmetadata的方法是加載項目的基本配置數據信息,而getAutoConfigurationEntry方法則是自動裝配的邏輯,繼續點進去

還是在加載配置,繼續點進去

其實到這壹步基本清楚了,做的這些事情都是在加載類,那麽自動裝配到底加載的是什麽類呢,這裏從外部傳入的factoryname是Enableautoconfiguration.class

點進去加載邏輯可以看到是在加載FACTORIES_RESOURCE_LOCATION路徑下的類。

會自動掃描所有項目下FACTORIES_RESOURCE_LOCATION這個路徑下的類,那麽這個路徑是啥?

總結:到這裏基本清楚了,springboot的自動裝配就是通過自定義實現ImportSelector接口,從而導致項目啟動時會自動將所有項目META-INF/spring.factories路徑下的配置類註入到spring容器中,從而實現了自動裝配。

相關的starter和自定義starter都是根據這個實現的。後續有空的話還會寫壹下如何實現自定義starter的隨筆。

以上就是springboot 自動裝配的原理,還有不懂的地方歡迎關註私聊我,很高興為妳解答

  • 上一篇:球類運動APP平臺的口號:壹起玩球。
  • 下一篇:有什麽城市建設的攻略和模擬遊戲推薦嗎?
  • copyright 2024編程學習大全網