Spring Boot外部配置源之配置源的加载顺序与优先级

目录

Spring Boot外部配置源

每篇一句

外部配置源的作用

配置源的加载顺序与优先级


Spring Boot外部配置源

每篇一句

人是自我编制意义之网的生物,人只有在不快乐的时候才会思考意义,也只有在闲下来的时候才会寻找意义。

外部配置源的作用

        Spring Boot相当于对Spring框架进行了封装,Spring Boot会自动配置大量的基础设置Bean(比如DataSource、SessionFactory等)此时就需要提供一些必要的配置信息(如URL、用户名、密码啊),这样Spring才能帮我们去自动配置。

  • 配置源包含了配置文件,此外,配置源还包括如下:

  1. 环境变量

  2. 系统属性

  3. 命令行的选项参数

  4. JSON配置等

配置源的加载顺序与优先级

        各种配置源的加载顺序如下,所有先加载的配置源都有可能被后加载的配置源覆盖,因此可以认为后加载的配置源的优先级更高。

  • 加载顺序

  1. 默认属性(通过SpringApplication.setDefaultProperties()方法指定)。

  2. 配置类(@Configuration修饰的类)上的、用@PropertySource注解加载的属性文件中的属性值。    

  3. 配置文件(如application.properties文件等)。

  4. RandomValuePropertySource,只包含random.*中的属性。

  5. 操作系统环境变量。

  6. Java系统属性(System的getProperties()方法返回的属性)。

  7. 来自于 java:comp/env 的JNDI属性。

  8. ServletContext的初始化参数(在web.xml文件中通过<context-param.../>元素设置的初始化参数)。

  9. ServletConfig的初始化参数(在web.xml文件通过<init-param.../>元素设置的初始化参数或通过@Servlet注解设置的初始化参数)。

  10. 来自SPRING_APPLICATION_JSON的属性(嵌套在环境变量或系统属性中JSON文本)

  11. 命令行参数。

  12. 测试用例类上通过@SpringBootTest注解的properties所指定的属性。

  13. 测试用例类上通过@TestPropertySource注解加载的属性文件中的属性值。

  14. 如果Spring Boot的devtools工具处于激活状态,用户Home目录中.config/spring-boot/子目录下spring-boot-devtools.properties或spring-boot-devtools.yml文件设置的属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

訾尤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值