SpringBoot学习(1)
springboot的自动配置功能,主要流程如下:
1 启动的时候加载我们的主配置类,也就是我们的入口类;从而开启我们的自动配置配置功能,这个是通过@enableautoconfiguration注解实现的;
2 @enableautoconfiguration利用其注解类中的方法:enableautoconfigurationimportselector,来给容器中导入一些组件;而需要导入那些组件是通过其调用的selectimport()方法实现的,这个方法最终会调用srpingfactoriesloader.loadfactorynames(),来扫描每个jar包下面的meta-inf/spring.factories文件,将这个文件中配置的enableautoconfiguration对应的所有值添加到容器中;
注:这里添加的所有值都是一个配置类,而且其名字命名规则:xxxautoconfiguration;
3 加入的所有 xxxautoconfiguration组件,都是配置类,最终其会添加我们需要使用到的组件到容器中;
而每一个xxxautoconfiguration配置类有一个关键的注解:@enableconfigurationproperties(xxxproperties.class);在这个注解中将application.properties或者application.yml中的对应配置与我们的java bean关联起来;然后我们在xxxautoconfiguratio类中添加组件的时候会用到xxxproperties类中的属性;
所有的配置类都使用的这个套路;
springboot自动配置的总体思路就是,在添加组件的时候将组件中各个属性值的配置,放在对应的java bean中,配置类在添加某个组件的时候从对应的java bean中读取属性的初始化之,而初始化的值我们配置在对应的配置文件中;
推荐阅读
-
SpringBoot框架集成MybatisPlus开发讲解
-
opencv进阶学习笔记10:图像金字塔和图像梯度
-
SpringBoot整合rabbitmq实现mqtt订阅/发布之功能
-
小白的LeetCode日记记录Day1(持续更新ing
-
C++基础学习一(基础之基础)
-
Python学习笔记(10)-Python进阶10-字典与集合
-
学习python的第十七天(二分法,有名函数,匿名函数,内置函数)
-
学习python的第十八天(模块导入及使用,关键字,模块搜索路径,python文件的两种用途)
-
用Python爬取了拉勾网的招聘信息+详细教程+趣味学习+快速爬虫入门+学习交流+大神+爬虫入门
-
Unable to identify any set of controllers that can actuate the specified joints: [ joint1 joint2 出错