SpringBoot源码阅读--配置文件详解

本文详细阐述了SpringBoot配置文件的加载顺序,包括devtools全局设置、测试注解、命令行参数、JNDI属性、系统属性、环境变量等。并介绍了@ConfigurationProperties注解用于将配置值映射到配置类,以及SpringBoot 2.x引入的Binder类,允许灵活地从配置文件中获取和处理参数。
摘要由CSDN通过智能技术生成

下面是官网的配置的优先级:(数字越小的,优先级越高)

Spring Boot设计了一个非常特别的PropertySource顺序,以允许对属性值进行合理的覆盖,属性会以如下的顺序进行设值:

  1. home目录下的devtools全局设置属性(~/.spring-boot-devtools.properties,如果devtools激活)。
  2. 测试用例上的@TestPropertySource注解。
  3. 测试用例上的@SpringBootTest#properties注解。
  4. 命令行参数
  5. 来自SPRING_APPLICATION_JSON的属性(环境变量或系统属性中内嵌的内联JSON)。
  6. ServletConfig初始化参数。
  7. ServletContext初始化参数。
  8. 来自于java:comp/env的JNDI属性。
  9. Java系统属性(System.getProperties())。
  10. 操作系统环境变量。
  11. RandomValuePropertySource,只包含random.*中的属性。
  12. 没有打进jar包的Profile-specific应用属性(application-{profile}.properties和YAML变量)。
  13. 打进jar包中的Profile-specific应用属性(application-{profile}.properties和YAML变量)。
  14. 没有打进jar包的应用配置(application.properties和YAML变量)。
  15. 打进jar包中的应用配置(application.properties和YAML变量)。
  16. @Configuration类上的@PropertySource注解。
  17. 默认属性(使用SpringApplication.setDefaultProperties指定)。

我们在总配置文件中,指定了配置文件时test的,最后启动项目。我们的端口确实时用的test中的8000。

下面是读取配置信息到我

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值