1. 程式人生 > 其它 >讀取Nacos配置中心的配置檔案

讀取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