PropertySource顺序

Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地覆盖值。按以下顺序考虑属性:

$HOME/.config/spring-boot当devtools处于活动状态时,文件夹中的Devtools全局设置属性。

@TestPropertySource 测试中的注释。

properties测试中的属性。可用于测试应用程序的特定部分@SpringBootTest的测试注释和注释。

命令行参数。

来自的属性SPRING_APPLICATION_JSON(嵌入在环境变量或系统属性中的嵌入式JSON)。

ServletConfig 初始化参数。

ServletContext 初始化参数。

的JNDI属性java:comp/env。

Java系统属性(System.getProperties())。

操作系统环境变量。

一RandomValuePropertySource,只有在拥有性能random.*。

打包的jar(application-{profile}.properties和YAML变体)之外的特定于配置文件的应用程序属性。

打包在jar中的特定于配置文件的应用程序属性(application-{profile}.properties和YAML变体)。

打包的jar(application.properties和YAML变体)之外的应用程序属性。

打包在jar中的应用程序属性(application.properties和YAML变体)。

@PropertySource@Configuration类上的注释。请注意,Environment在刷新应用程序上下文之前,不会将此类属性源添加到中。现在配置某些属性(如logging.和spring.main.在刷新开始之前先读取)为时已晚。

默认属性(通过设置指定SpringApplication.setDefaultProperties)。

posted @ 2019-12-06 23:29  Johar  阅读(837)  评论(0编辑  收藏  举报