相关推荐recommended
Spring Boot、Nacos配置文件的优先级
作者:mmseoamin日期:2024-01-30

在标准的 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 指定)。

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