SpringBoot 配置加载优先级顺序

SpringBoot 配置加载优先级顺序

薛定谔的汪

根据官网和极客时间丁雪丰老师 Spring 专课,总结归纳下 SpringBoot 加载配置的顺序,以便以后遇到问题了好排查。

外化配置优先级顺序:

  1. 开启 DevTools 时,~/.spring-boot-devtools.properties;
  2. 测试类上的 @TestPropertySource 注解;
  3. @SpringBootTest#properties 注解;
  4. 命令行参数,如 –server.port=8888;
  5. SPRING_APPLICATION_JSON 属性;
  6. ServletConfig 初始化参数;
  7. ServletContext 初始化参数;
  8. Java:comp/env 中的JNDI 属性;
  9. System.getProperties()属性;
  10. 操作系统环境变量;
  11. random.* RrandomValuePropertySource,如 my.age=${random.int}
  12. jar 包外部的 application-(profile).properties 或(yml)
  13. jar 包内部的 application-(profile).properties 或(yml)
  14. jar 包外部的 application.properties 或(yml)
  15. jar 包内部的 application.properties 或(yml)
  16. @Configuration 类上的 @PropertySpurce;
  17. SpringApplication.setDefaultProperties() 设置默认属性。
  • Title: SpringBoot 配置加载优先级顺序
  • Author: 薛定谔的汪
  • Created at : 2019-04-15 17:48:32
  • Updated at : 2023-11-17 19:37:36
  • Link: https://www.zhengyk.cn/2019/04/15/springboot/spring-boot-config-load-order/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
SpringBoot 配置加载优先级顺序