SpringBoot核心配置文件里可以配置的配置项,非常非常多!Spring Boot Reference Guide靠后的附件里看到所有配置项和说明.
有关配置项,我们除了知道在哪里查询具体配置项以外,我们还应该知道一些细节知识点:
① SpringBoot给我们做了很多默认配置,这些配置,具体配置在哪个文件里:spring-boot-autoconfigure-2.0.5.RELEASE.jar里的META-INF/spring.factories/EnableAutoConfiguration属性里,在这个属性里指定了一大推的配置类XxxxAutoConfiguration,前面我们讲过,SpringBoot是用配置类来代替了我们在Spring中使用的xml格式的配置文件。
② 在这些配置类中都通过了一个注解@EnableConfigurationProperties指向了一个XxxxxxProperties的类,这个类又用注解@ConfigurationProperties关联上了我们SpringBoot的全局配置文件,从全局配置文件中读取数据!
③ SpringBoot默认写好的这些配置类是不是都在初始的状态下已经生效?不是!SpringBoot里的默认的配置类里的配置项要生效都是有条件的,配置类中通过了一些列@ConditionalXXX注解进行判断,只有这些条件都返回true,这个配置才会起作用!
④ 我们在SpringBoot的全局配置文件中的具体配置项,其实就是前面介绍的XxxxxxProperties的类里的属性:
⑤ SpringBoot里有这么多默认的配置,那么那些是已经生效的,那些是没有生效的,怎么查?在全局配置文件中设置debug=true运行主方法,会生成一份老长的默认配置生效的和没生效的报告: