NACOS動態配置


前置條件:基於前文“NACOS服務注冊與發現搭建”項目中創建的項目開發NACOS的動態配置功能。

方式一:啟動配置管理方式獲取配置

1、項目引入POM包


<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.2.2.RELEASE</version>
</dependency>

 

 

2、yml配置NACOS系統信息


  • 新增bootstrap.yml文件,配置信息寫在該文件里。(問題:如放在application.yml會導致項目啟動報找不到配置屬性錯誤,原因:application.yml與bootstrap.yml加載順序優先級問題。)

    bootstrap.yml(bootstrap.properties)用來程序引導時執行,應用於更加早期配置信息讀取,如可以使用來配置application.yml中使用到參數等

    application.yml(application.properties) 應用程序特有配置信息,可以用來配置后續各個模塊中需使用的公共參數等。

    加載順序:bootstrap.yml > application.yml > application-dev(prod).yml > ...

  • 在bootstrap.yml中新增application.name和nacos的config信息。
    spring:
      application:
        name: order-service-demo
    
      cloud:
        nacos:
          config:
            server-addr: localhost:8848
            file-extension: properties  # 此處為配置使用的后綴名
            group: DEFAULT_GROUP

 

3、NACOS系統新增動態配置參數


登錄NOCAS系統在配置列表頁面,點擊新增配置輸入配置信息,本文選擇的是properties配置文件類型。

DataID格式:${prefix}-${spring.profiles.active}.${file-extension}

  prefix:默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。

  spring.profiles.active:即為當前環境對應的 profile,詳情可以參考 Spring Boot文檔。 注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}

  file-exetension:為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型。

 

4、代碼配置


在使用配置的controller中新增 @RefreshScope 注解,以及在注入屬性上新增 @Value("${Key名稱}") 注解。訪問網站儲呈現

 

 

方式二:JAVA SDK方式獲取配置

1、項目引入POM包


<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-client</artifactId>
    <version>2.0.0-ALPHA.2</version>
</dependency>

 

2、NACOS系統新增動態配置參數


 登錄NOCAS系統在配置列表頁面,點擊新增配置輸入配置信息,本文選擇的是json配置文件類型。

DataID格式:${prefix}-${spring.profiles.active}.${file-extension}

  prefix:默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix來配置。

  spring.profiles.active:即為當前環境對應的 profile,詳情可以參考 Spring Boot文檔。 注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}

  file-exetension:為配置內容的數據格式,可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型。

 

3、代碼段


獲取NACOS配置服務,根據Data ID獲取配置。

 

獲取到的配置信息,接口返回呈現。

 

 

 


免責聲明!

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



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