springboot的自动配置功能,主要流程如下:
1 启动的时候加载我们的主配置类,也就是我们的入口类;从而开启我们的自动配置配置功能,这个是通过@EnableAutoConfiguration注解实现的;
2 @EnableautoConfiguration利用其注解类中的方法:EnableAutoConfigurationImportSelector,来给容器中导入一些组件;而需要导入那些组件是通过其调用的selectImport()方法实现的,这个方法最终会调用SrpingFactoriesLoader.loadFactoryNames(),来扫描每个jar包下面的 -INF/spring.factories文件,将这个文件中配置的EnableAutoConfiguration对应的所有值添加到容器中;
注:这里添加的所有值都是一个配置类,而且其名字命名规则:XXXAutoConfiguration;
3 加入的所有 XXXAutoConfiguration组件,都是配置类,最终其会添加我们需要使用到的组件到容器中;
而每一个XXXAutoConfiguration配置类有一个关键的注解:@EnableConfigurationProperties(XXXProperties.class);在这个注解中将application.properties或者application.yml中的对应配置与我们的java bean关联起来;然后我们在XXXAutoConfiguratio类中添加组件的时候会用到XXXProperties类中的属性;
所有的配置类都使用的这个套路;
springboot自动配置的总体思路就是,在添加组件的时候将组件中各个属性值的配置,放在对应的java bean中,配置类在添加某个组件的时候从对应的java bean中读取属性的初始化之,而初始化的值我们配置在对应的配置文件中;
继续阅读与本文标签相同的文章
-
详解|天猫搜索前端技术历代记
2026-05-18栏目: 教程
-
logtial无落盘采集之rsyslog
2026-05-18栏目: 教程
-
K8S中手动扩容云盘数据卷
2026-05-18栏目: 教程
-
高危预警| SQL数据库成主要攻击对象,或引发新一轮大规模勒索
2026-05-18栏目: 教程
-
6 个 K8s 日志系统建设中的典型问题,你遇到过几个?
2026-05-18栏目: 教程
