Spring Boot、Nacos配置文件的优先级
作者:mmseoamin日期:2024-01-30
在标准的 SpringBoot 应用中,本地配置加载顺序如下:
- 本地 bootstrap 配置,先于 application 配置加载。
- 不带 profile 的配置,先于带 profile 的配置加载。
- xxx.yaml 先于 xxx.properties 加载。
- 本地配置先于 nacos 配置中心加载。
- nacos 配置中心上公有配置先于 nacos 配置中心该服务的私有配置(即与微服务名同名的配置文件)加载。
综上,加载顺序为:
- bootstrap.yaml
- bootstrap.properties
- bootstrap-{profile}.yaml
- bootstrap-{profile}.properties
- application.yaml
- application.properties
- application-{profile}.yaml
- application-{profile}.properties
- nacos 配置中心共享配置(通过 spring.cloud.nacos.config.shared-configs 指定)。
- nacos 配置中心该服务配置(通过 spring.cloud.nacos.config.prefix 和spring.cloud.nacos.config.file-extension 指定)。
- nacos 配置中心该服务-{profile} 配置(通过 spring.cloud.nacos.config.prefix 和spring.cloud.nacos.config.file-extension、以及 spring.profiles.active 指定)。
因此,配置生效覆盖关系: