Springboot自动配置类理解心得

二刷了雷神的Springboot底层自动配置类,终于理解了Springboot的底层自动配置原理。

流程如下:

首先我们的Springboot启动时先加载了所有的配置类,xxxxAutoConfiguration,但是不是所有的自动配置类都生效了

每一个自动配置类都是有@Conditional***来按条件生效。不满足条件该自动配置类下的就不会生效了。

而生效的配置类中会给容器加很多的组件(方法都第三方写好了的)。@Bean。。。。只要容器中有这些组件,功能也就有了。

并且很多自动配置类中会有绑定一些Properties:如下图

@EnableConfigurationProperties 有两个功能,

//一个是开启Cacheproperties.class的属性配置功能

//另一个是把Cacheproperties.class加入到容器中

我们可以来到Cacheproperties.class:

@Configurationproperties(prefix=“****”)就是说我们可以通过配置文件来进行内容填充。prefix是前缀。比如我们要向cachNames添加属性,那么我们在properties或者yml配置文件是写:****.cachNames="hh".

所以自动配置类中会从我们的xxxxproperties里拿值进行操作。而我们的xxxxproperties则去application.properties里进行属性装配。

以上就是我们为什么写application.properties和springboot自动装配的联系。

猜你喜欢

转载自blog.csdn.net/weixin_48312926/article/details/125037131