学习交流

当前位置 /首页/母婴教育/学习交流/列表

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张
TAG标签:SpringBoot 自动 配置 #