SpringBoot加载properties配置文件的顺序

SpringBoot 项目打包为jar以后,在jar里面的resources有xxx.properties,此
时在存放jar的同级目录创建config,并在config放xxx.properties,则加载顺序是怎么样的呢?

目录层级如下:
desktop-api

  --config

    application.properties

    application-prod.properties

  --desktop-api.jar

    --BOOT-INF

      --classes 

        application.properties

        application-prod.properties
加载顺序依次是:

1、jar的classes里面的application.properties

2、当前路径下的application.properties

3、jar的classes里面config文件夹下的application.properties

4、当前路径config文件夹里面的application.properties

注意:遇到多个配置文件有相同配置时后加载的配置会覆盖前面加载的配置。

通用规则:

SpringApplication会从以下路径加载所有的application.properties文件:

1、file:./config/(当前目录下的config文件夹)

2、file:./(当前目录)

3、classpath:/config/(classpath下的config目录)

4、classpath:/(classpath根目录)

优先级由上至下。

注意:优先级是指属性最后使用的值,而不是说仅仅扫描优先级高的路径,不是发现了application.properties文件就停止。

优先级说明:假设上面 1、2、3、4 都存在配置文件,那么配置文件 1 的优先级最高

springboot中可以配置多个配置文件,并且这些配置文件是可以共存的。当属性相同时,优先级高的配置文件会覆盖优先级低的配置文件中的属性。当属性不同时,最终的配置会取各个配置文件中属性的并集。

可查看Spring的这个类 ConfigFileApplicationListener,这个类有个 load 方法加载配置文件可以 debug 看一下
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值