Spring Boot、Nacos配置文件的优先级

在标准的 SpringBoot 应用中,本地配置加载顺序如下:

  • 本地 bootstrap 配置,先于 application 配置加载。
  • 不带 profile 的配置,先于带 profile 的配置加载。
  • xxx.yaml 先于 xxx.properties 加载。
  • 本地配置先于 nacos 配置中心加载。
  • nacos 配置中心上公有配置先于 nacos 配置中心该服务的私有配置(即与微服务名同名的配置文件)加载。

综上,加载顺序为:

  1. bootstrap.yaml
  2. bootstrap.properties
  3. bootstrap-{profile}.yaml
  4. bootstrap-{profile}.properties
  5. application.yaml
  6. application.properties
  7. application-{profile}.yaml
  8. application-{profile}.properties
  9. nacos 配置中心共享配置(通过 spring.cloud.nacos.config.shared-configs 指定)。
  10. nacos 配置中心该服务配置(通过 spring.cloud.nacos.config.prefix 和spring.cloud.nacos.config.file-extension 指定)。
  11. nacos 配置中心该服务-{profile} 配置(通过 spring.cloud.nacos.config.prefix 和spring.cloud.nacos.config.file-extension、以及 spring.profiles.active 指定)。

因此,配置生效覆盖关系:

  • 对于 key 名相同,后加载会覆盖掉前加载,故而最终为后加载的配置项生效。
  • 对于 key 名不同,则直接生效(会加载,但不会被覆盖)。

注意:不能理解为文件级整体覆盖,而仅是同名 key 会被后加载的键值覆盖。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值