当前位置:   article > 正文

4.SpringBoot配置及Nacos配置中心加载顺序及覆盖生效优先关系_nacos配置文件的执行顺序

nacos配置文件的执行顺序

目录

一、测试环境版本

二、测试结果

1、标准的SpringBoot应用

2、含有Nacos配置中心的SpringBoot应用


一、测试环境版本

  • spring-boot-starter-parent  2.7.10

  • spring-cloud-starter-bootstrap  3.1.6

  • spring-cloud-starter-alibaba-nacos-config  2021.0.4.0

  • nacos-client 2.1.1

  • nacos服务端 2.2.1

二、测试结果

1、标准的SpringBoot应用

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

  • bootstrap配置 加载先于 application配置
  • 不带profile的配置 加载先于 带profile的配置
  • (不含后缀的)同文件名配置 *.yaml  加载先于 *.properties

综上,本地加载顺序为

  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

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

    对于key名相同,后加载会覆盖掉前加载,故而最终为后加载的配置项生效!

    对于key名不同,则直接生效(会加载,但不会被覆盖);

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

2、含有Nacos配置中心的SpringBoot应用

带Nacos配置中心的SpringBoot应用中,配置加载顺序如下:

  • 本地bootstrap配置 加载先于 本地application配置
  • 本地配置 加载先于 nacos配置中心
  •  nacos配置中心上共享配置(见下说明) 加载先于 nacos配置中心该服务配置(见下说明)
  • 不带profile的配置 加载先于 带profile的配置
  • 本地(不含后缀的)同文件名配置 *.yaml  加载先于 *.properties
  • nacos配置中心因需要通过data ID指定(或者通过spring.cloud.nacos.config.file-extension指定后缀),所以对于Nacos配置中心上的某个Data ID而言,不会存在既加载其*.yaml又加载其*.properties的情形

综上,本地及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会被后加载的键值覆盖。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/594572
推荐阅读
相关标签
  

闽ICP备14008679号