網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

SpringBoot自動配置原理

欄目: 學習交流 / 發佈於: / 人氣:2.52W

SpringBoot自動配置原理

操作方法

(01)SpringBoot啟動的時候加載主配置類,開啟了自動配置功能@EnableAutoConfiguration。

SpringBoot自動配置原理

(02)@EnableAutoConfiguration的作用是利用AutoConfigurationImportSelector給容器中導入一些組件。

SpringBoot自動配置原理 第2張

(03)可以查看public String[] selectImports(AnnotationMetadata annotationMetadata)方法的內容。

SpringBoot自動配置原理 第3張

(04)通過protected List<String> getCandidateConfigurations(AnnotationMetadata metadata,      AnnotationAttributes attributes)獲取候選的配置,這個是掃描所有jar包類路徑下"META-INF/ories";

SpringBoot自動配置原理 第4張

(05)然後把掃描到的這些文件包裝成Properties對象。

SpringBoot自動配置原理 第5張

(06)從properties中獲取到s類名對應的值,然後把他們添加在容器中。

SpringBoot自動配置原理 第6張

(07)整個過程就是將類路徑下"META-INF/ories"裏面配置的所有EnableAutoConfiguration的值加入到容器中。

SpringBoot自動配置原理 第7張

(08)每一個這樣XXAutoConfiguration類都是容器中的一個組件都加入到容器中,用他們來做自動配置。每一個自動配置類進行自動配置功能,以HttpEncodingAutoConfiguration為例解釋自動配置原理。

SpringBoot自動配置原理 第8張

(09)根據當前不同的條件判斷,決定這個配置是否生效。

SpringBoot自動配置原理 第9張