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)。