當前位置:妙知谷 >

母嬰教育 >學習交流 >

SpringBoot自動配置原理

SpringBoot自動配置原理

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張
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/jy/jiaoliu/5kldmk.html