首先创建好一个SpringBoot后如下图
@SpringBootApplication
可以看出该注解很重要
跟进该注解可以看到如下
可以看到@SpringBootConfiguration 该注解负责加载Spring组件
可以看到@EnableAutoConfiguration 该注解负责给容器中添加外置组件。
外置组件自动配置目录
Spring.factories 里自动加载了所有外置配置
比如mongodb的外置插件类
这些类是否生效,取决于我们pom的文件的是否导入这插件的对应jar包,如果jar包存在则会生效。
封装配置组件相关属性
mongodb的外置插件类 的具体属性配置,我们跟进其类会发现,都已经绑定application.yaml属性文件。
举例:比如Mongodb的相关配置属性,跟进如下。
继续跟进具体属性可以看到如下。
我们项目中可以通过如下设置配置文件,查看生效类的装载情况。
Conditional的注解
Conditional的注解是在属性文件注解之上,进行首先判断是否存在对应外部扩展组件扩展jar包,以及等等条件,相当于加载属性文件的开关。
总结
SpringBoot框架很强大,很多事情都已经做好了,我们需要使用某些属性,只需要导入依赖,设置属性即可。