讀取Nacos配置中心的配置文件


1、在Nacos創建統一配置文件

(1)點擊創建按鈕

 

 (2)輸入配置信息

 

a)Data ID 的完整規則格式如下

${prefix}-${spring.profile.active}.${file-extension}

- prefix 默認為所屬工程配置spring.application.name 的值(即:nacos-provider),也可以通過配置項 spring.cloud.nacos.config.prefix來配置。

- spring.profiles.active=dev 即為當前環境對應的 profile。 注意:當 spring.profiles.active 為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}

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

 

2、service-statistics模塊為例

(1)在service中引入依賴
 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 </dependency>

(2)創建bootstrap.properties配置文件

 

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.profiles.active=dev
# 該配置影響統一配置中心中的dataId,之前已經配置過
spring.application.name=service-statistics

 

(3)把項目之前的application.properties內容注釋,啟動項目查看效果

3、補充:springboot配置文件加載順序

其實yml和properties文件是一樣的原理,且一個項目上要么yml或者properties,二選一的存在。推薦使用yml,更簡潔。

bootstrap與application
(1)加載順序
這里主要是說明application和bootstrap的加載順序。

bootstrap.yml(bootstrap.properties)先加載
application.yml(application.properties)后加載
bootstrap.yml 用於應用程序上下文的引導階段。

bootstrap.yml 由父Spring ApplicationContext加載。

父ApplicationContext 被加載到使用 application.yml 的之前。

(2)配置區別
bootstrap.yml 和application.yml 都可以用來配置參數。

bootstrap.yml 可以理解成系統級別的一些參數配置,這些參數一般是不會變動的。
application.yml 可以用來定義應用級別的。

 

三、名稱空間切換環境

1、創建命名空間

 

 

 

默認只有public,新建了dev、test和prod命名空間

 

 

2、克隆配置

(1)切換到配置列表:

 

可以發現有四個名稱空間:public(默認)以及我們自己添加的3個名稱空間(prod、dev、test),可以點擊查看每個名稱空間下的配置文件,當然現在只有public下有一個配置。

默認情況下,項目會到public下找 服務名.properties文件。

接下來,在dev名稱空間中也添加一個nacos-provider.properties配置。這時有兩種方式:

第一,切換到dev名稱空間,添加一個新的配置文件。缺點:每個環境都要重復配置類似的項目

第二,直接通過clone方式添加配置,並修改即可。推薦

 

 點擊編輯:修改配置內容,端口號改為8013以作區分

 

 在項目模塊中,修改bootstrap.properties添加如下配置

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.profiles.active=dev
# 該配置影響統一配置中心中的dataId,之前已經配置過
spring.application.name=service-statistics

spring.cloud.nacos.config.namespace=dfee0c9a-f063-4364-9bd9-4efbaa0f8f31

重啟服務提供方服務,測試修改之后是否生效

 

四、多配置文件加載

在一些情況下需要加載多個配置文件。假如現在dev名稱空間下有2個配置文件:service-statistics.properties、jdbc.properties

 

 

添加配置,加載多個配置文件

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.profiles.active=dev
# 該配置影響統一配置中心中的dataId,之前已經配置過
spring.application.name=service-statistics
spring.cloud.nacos.config.namespace=dfee0c9a-f063-4364-9bd9-4efbaa0f8f31
spring.cloud.nacos.config.ext-config[0].data-id=port.properties
spring.cloud.nacos.config.ext-config[0].refresh=true

 

 


免責聲明!

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



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