在標準的 SpringBoot 應用中,本地配置載入順序如下:
- 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 指定)。
- 優先順序低的配置會被先載入,所以後載入的是優先順序高的配置,後載入的相同key會覆蓋掉先前載入的,也就是遠端nacos配置會覆蓋本地相同key
- yaml跟yml具有相同的作用,但是優先順序也有區別,yaml比yml先載入,所以,yml會覆蓋yaml
properties(最高)> yml > yaml(最低)