SpringBoot中配置文件的加载顺序
- 命令行中传入的参数。
SPRING_APPLICATION_JSON
中的属性。SPRING_APPLICATION_JSON
是以JSON格式配置在系统环境变量中的内容。java:comp/env
中的JNDI
属性。- Java的系统属性,可以通过
System.getProperties()
获得的内容。 - 操作系统的环境变量
- 通过
random.*
配置的随机属性 - 位于当前应用jar包之外,针对不同
{profile}
环境的配置文件内容,例如:application-{profile}.properties
或是YAML
定义的配置文件 - 位于当前应用jar包之内,针对不同
{profile}
环境的配置文件内容,例如:application-{profile}.properties
或是YAML
定义的配置文件 - 位于当前应用jar包之外的
application.properties
和YAML
配置内容 - 位于当前应用jar包之内的
application.properties
和YAML
配置内容 - 在
@Configuration
注解修改的类中,通过@PropertySource
注解定义的属性 - 应用默认属性,使用
SpringApplication.setDefaultProperties
定义的内容
对第7点jar包之外的配置文件如何加载,可以使用spring.config.location命令指定外部配置文件的地址。