SpringBoot自動配置原理
- 學習交流
- 關注:2.46W次
SpringBoot自動配置原理
操作方法
(01)SpringBoot啟動的時候加載主配置類,開啟了自動配置功能@EnableAutoConfiguration。
(02)@EnableAutoConfiguration的作用是利用AutoConfigurationImportSelector給容器中導入一些組件。
(03)可以查看public String[] selectImports(AnnotationMetadata annotationMetadata)方法的內容。
(04)通過protected List<String> getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes)獲取候選的配置,這個是掃描所有jar包類路徑下"META-INF/ories";
(05)然後把掃描到的這些文件包裝成Properties對象。
(06)從properties中獲取到s類名對應的值,然後把他們添加在容器中。
(07)整個過程就是將類路徑下"META-INF/ories"裏面配置的所有EnableAutoConfiguration的值加入到容器中。
(08)每一個這樣XXAutoConfiguration類都是容器中的一個組件都加入到容器中,用他們來做自動配置。每一個自動配置類進行自動配置功能,以HttpEncodingAutoConfiguration為例解釋自動配置原理。
(09)根據當前不同的條件判斷,決定這個配置是否生效。
- 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/jy/jiaoliu/5kldmk.html