Java教程

SpringBoot配置文件加载顺序

本文主要是介绍SpringBoot配置文件加载顺序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

spring配置文件加载顺序

1.application.properties加载

Spring Boot启动会扫描以下位置的application.properties或者application.yml文件作为Spring Boot的默认配置文件

bootstrap.yml(bootstrap.properties)与application.yml(application.properties)执行顺序

bootstrap优先级比application更高

application:配置文件这个容易理解,主要用于SpringBoot项目的自动化配置。

bootstrap:配置文件有以下几个应用场景 :

1. 使用SpringCloud Config配置中心时,这时需要在bootstrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;
2. 一些固定的不能被覆盖的属性;
3. 一些加密/解密的场景。

2.配置文件加载位置

1. file:/config/
2. file:/
3. classpath:/config/
4. classpath:/

springboot会加载所有的配置文件,并按优先级从上到下,将低优先级的配置内容覆盖 -- 高低级可以形成互补


3.外部配置文件

  1. 开发者工具 Devtools 全局配置参数;

  2. 单元测试上的 [@TestPropertySource](mailto:@TestPropertySource)` 注解指定的参数;

  3. 单元测试上的 [@SpringBootTest](mailto:@SpringBootTest)` 注解指定的参数;


  4. 命令行指定的参数,如 java -jar springboot.jar --name="xxx"

  5. 命令行中的 SPRING_APPLICATION_JSONJSON 指定参数, 如 java -Dspring.application.json='{"name":"xxx"}' -jar springboot.jar

  6. ServletConfig初始化参数;

  7. ServletContext初始化参数;

  8. JNDI参数(如 java:comp/env/spring.application.json);

  9. Java系统参数(来源:System.getProperties());

  10. 操作系统环境变量参数;

  11. RandomValuePropertySource 随机数,仅匹配:ramdom.*

  12. JAR包外面的配置文件参数(application-{profile}.properties(YAML)

  13. JAR包里面的配置文件参数(application-{profile}.properties(YAML)

  14. JAR包外面的配置文件参数(application.properties(YAML)

  15. JAR包里面的配置文件参数(application.properties(YAML)

  16. @Configuration (mailto:@Configuration)配置文件上 @PropertySource(mailto:@PropertySource) 注解加载的参数;

  17. 默认参数(通过 SpringApplication.setDefaultProperties 指定);

这篇关于SpringBoot配置文件加载顺序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!