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/zh-cn/jy/jiaoliu/5kldmk.html