SpringBoot配置-7
外部配置加载顺序
SpringBoot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置
- 命令行参数
- 所有的配置都可以在命令行上进行指定 
- java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –server.port=8087 –server.context-path=/abc 
- 多个配置用空格分开; –配置项=值 

- 来自java:comp/env的JNDI属性 
- Java系统属性(System.getProperties()) 
- 操作系统环境变量 
- RandomValuePropertySource配置的random.*属性值 
- jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件 
- jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件 
- jar包外部的application.properties或application.yml(不带spring.profile)配置文件 
- jar包内部的application.properties或application.yml(不带spring.profile)配置文件 
- @Configuration注解类上的@PropertySource 
- 通过SpringApplication.setDefaultProperties指定的默认属性 
由jar包外向jar包内进行寻找,优先加载带profile再来加载不带profile。高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置




所有支持的配置加载来源
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kylin!
 评论












