注解一:@Configuration
含义:这是一个配置类
注解二:@EnableConfigurationProperties(HttpProperties.class)
含义:自动配置属性
点开HttpProperties类有如下注解并有一些属性:
@ConfigurationProperties(prefix = "spring.http")
意义是将配置文件中的配置加载到此类中:这时能够和自己写的配置文件联系起来,我们需要在配置文件中写入(规定一些属性的值):
注解三:@Conditional系列
每一个xxxAutoConfiguration类(自动配置类)都是容器中的一个组件,最后都加入到容器中,用他们来自动配置。
xxxAutoConfiguration:给容器中添加组件的,组件的属性赋值绑定了(xxxProperties类封装了一些配置文件的属性,如何修改呢,用application.yaml)
注解四:@SpringBootApplication
标记在main方法上。
自动装配原理:
1)SpringBoot启动会加载大量的自动配置类
2) 看自己需要的功能有没有在SpringBoot默认写好的xxxAutoConfiguration自动配置类当中(有,直接调用)
3)在看这个xxxAutoConfiguration自动配置类中配置了哪些组件
4)给容器中xxxAutoConfiguration自动配置类添加组件的时候,要从xxxproperties类中获取某些属性,我们只需要在配置文件中指定这些属性的值即可
最后一个问题:如何查看哪些配置生效了?
在application.yaml激活debug:
debug: true
运行main会弹出日志:
positive matches:自动配置类已经启动,生效的
negative matches:没有启用的,不生效