SpringBoot配置文件的加载顺序

SpringBoot启动时,按照高优先级到低优先级的顺序加载配置文件,包括jar内的application.properties或.yml,以及外部配置如命令行参数、JNDI属性、系统属性等。用户可以通过命令行参数改变默认配置位置,带profile的配置优先于不带的,并且外部配置优先于jar包内的。最后,@Configuration注解的@PropertySource和SpringApplication.setDefaultProperties指定的默认属性也会被加载。
摘要由CSDN通过智能技术生成

jar配置文件加载顺序:

springboot 启动会扫描以下位置的application.properties/application.yml文件作为Springboot的默认配置文件:

以下是优先级从高到低的顺序:

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

note: 高优先级覆盖低优先级,四个位置的文件全部会加载,形成互补配置。另外我们还可以通过命令行参数spring.config.location来改变默认配置文件位置。

外部配置加载顺序:

SpringBoot也可以从以下位置加载配置; 优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会 形成互补配置

  1. 命令行参数 所有的配置都可以在命令行上进行指定 java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc 多个配置用空格分开; --配置项=值
  2. 来自java:comp/env的JNDI属性
  3. Java系统属性(System.getProperties())
  4. 操作系统环境变量
  5. RandomValuePropertySource配置的random.*属性值 
  6. jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  7. jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件 再来加载不带profile
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值