springboot2——4.自动配置原理

注解一:@Configuration

含义:这是一个配置类

注解二:@EnableConfigurationProperties(HttpProperties.class)

含义:自动配置属性

点开HttpProperties类有如下注解并有一些属性:

@ConfigurationProperties(prefix = "spring.http")

意义是将配置文件中的配置加载到此类中:这时能够和自己写的配置文件联系起来,我们需要在配置文件中写入(规定一些属性的值):

注解三:@Conditional系列

springboot2——4.自动配置原理_第1张图片

每一个xxxAutoConfiguration类(自动配置类)都是容器中的一个组件,最后都加入到容器中,用他们来自动配置。

xxxAutoConfiguration:给容器中添加组件的,组件的属性赋值绑定了(xxxProperties类封装了一些配置文件的属性,如何修改呢,用application.yaml)

注解四:@SpringBootApplication

标记在main方法上。

springboot2——4.自动配置原理_第2张图片springboot2——4.自动配置原理_第3张图片

自动装配原理:

1)SpringBoot启动会加载大量的自动配置类

2)   看自己需要的功能有没有在SpringBoot默认写好的xxxAutoConfiguration自动配置类当中(有,直接调用)

3)在看这个xxxAutoConfiguration自动配置类中配置了哪些组件

4)给容器中xxxAutoConfiguration自动配置类添加组件的时候,要从xxxproperties类中获取某些属性,我们只需要在配置文件中指定这些属性的值即可

最后一个问题:如何查看哪些配置生效了?

在application.yaml激活debug:

debug: true

运行main会弹出日志:

positive matches:自动配置类已经启动,生效的

negative matches:没有启用的,不生效

                

你可能感兴趣的:(springboot2,java,spring,boot,spring)