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

(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內容注釋,啟動項目查看效果
其實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命名空間
(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