SpringBoot 自動裝配原理

2021-10-01 14:45:54 字數 576 閱讀 7931

@enableautoconfiguration  自動裝配的註解

當spring容器載入中,會呼叫invokebeanfactorypostprocessors  這裡會去讀取beandefined各種載入方法,自動裝配則使用了@import註解實現呼叫autoconfigureimportseletor 的方法selectimports

方法裡面邏輯是 載入spring.facotories 檔案中鍵值為

enableautoconfiguration的值列表,這些值對應一系列的autoconfiguture類。
這些autoconfiguture類中根據條件是否要載入某個功能,條件判斷可能會有是否引用了架包,是否含有某些配置項等等

例項化bean的時候,再去呼叫各種解析器判斷是否符合條件的bean,不符合直接跳過

每個配置類都會有條件註解 @condition***

《springboot原始碼系列》 自動裝配原理

輔助判斷 初始化第三方jar擴充套件點 這個方法點進去,最終是執行了 springfactoriesloader.loadfactorynames type,classloader 可以看到這裡印證了我們上面說的掃瞄所有依賴jar 的 meta inf spring.factories 所有的配置類...

Springboot自動裝配

而下面那個 import 這個類點進去主要就是為了載入springboot的各種配置檔案。在這個類中你可以找到如下這個方法,去載入配置路徑為meta inf spring autoconfigure metadata.properties檔案。還有乙個方法則會去載入目錄下meta inf sprin...

spring boot 之自動裝配

在之前用spring框架進行開發的時候,我們要寫巨多的配置檔案,並且隨著功能的完善,還需要不停的修改這些檔案,非常痛苦,但是在使用spring boot 之後就沒有這些煩惱啦 雖然還是要寫一點點,但是對比以前,忽略不計 是真的不需要寫這些檔案了嗎?其實這些檔案時spring boot 在啟動時幫我們...