nacos 配置優先級


nacos 配置優先級

spring:
  application:
    name: star
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        file-extension: yml
        namespace:
        ext-config:
          - data-id: e.yml
            group: default
            refresh: true
        shared-dataids: sa.yml,sb.yml
        refreshable-dataids: r.yml

這里列出三類配置文件:

a:   star-dev.yml

b:   e.yml

c:      sa.yml,sb.yml

讀取優先級從低到高, a < b < c,低優先級會覆蓋高優先級,這個是不難理解的,先讀公共配置,再讀擴展配置,再讀自己的配置,當然會以自己的配置為准。

nacos 配置下,如無特殊配置,本地配置不會生效。若要本地配置生效,需要在 star-dev.yml 中作如下配置,這三個配置是矛盾的,根據需要選擇

spring:
  cloud:
    config:
      allow-override: true     // 允許nacos被本地文件覆蓋
      override-none: true     // nacos不覆蓋任何本地文件
      override-system-properties: true   // nacos 覆蓋系統屬性。注意本地配置文件不是系統屬性

 

本地配置優先級:

1.命令行參數
2.來自java:comp/env的JNDI屬性
3.Java系統屬性(System.getProperties())
4.操作系統環境變量
5.RandomValuePropertySource配置的random.*屬性值
6.jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
7.jar包內部的application-{profile}.properties或application.yml(帶spring.profile)配置文件
8.--spring.config.location=C:/application.properties(它在這里)
9.jar包外部的application.properties或application.yml(不帶spring.profile)配置文件
10.jar包內部的application.properties或application.yml(不帶spring.profile)配置文件
11.@Configuration注解類上的@PropertySource
12.通過SpringApplication.setDefaultProperties指定的默認屬性

bootstrap 優先級高於配置文件,但是項目內部配置文件高於 bootstrap,導入文件優先級

高於默認配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM