1、環境搭建
1.1 依賴
<!-- nacos注冊中心 注解 @EnableDiscoveryClient -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
1.2 bootstrap.properties 配置
# 埠
server.port=9607
# 服務名
spring.application.name=kgcmall96-nacos-config
# nacos 配置中心 的地址
spring.cloud.nacos.server-addr=127.0.0.1:8848
# 指定nacos配置中心支持的組態檔后綴,注意:nacso上增加的組態檔后綴要跟此處一致,默認值properties
spring.cloud.nacos.config.file-extension=yml
1.3 請求
/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: nacos配置中心測驗入口
*/
@RestController
public class KgcMallNacosConfigController {
//單個讀取遠程配置中心的公共配置引數
@Value("${kh96.nacos.config:kh96-default}")
private String kh96NacosConfig;
/**
* @param : []
* @return : java.lang.String
* @author : huayu
* @date : 28/11/2022
* @description : 讀取遠程nacos配置中心添加的統一自定義配置,回傳
*/
@GetMapping("/testNacosConfig")
public String testNacosConfig() {
return kh96NacosConfig;
}
}
1.4 添加遠程組態檔
1.4.1 添加

1.4.2 配置資訊

1.4.3 添加成功

1.5 測驗

1.6 修改配置資訊

1.7 再次 測驗

1.8 重啟專案測驗

2、配置資訊實時重繪
每次修改組態檔都需要重啟專案,十分麻煩,需要設定實時重繪;
2.1 添加注解
@RestController
@RefreshScope //nacos配置動態重繪注解
public class KgcMallNacosConfigController {
......
}
2.2 測驗

3、批量讀取配置資訊
3.1 配置類
/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: KgcMallNacosConfig
*/
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "kh96.nacos")
@Data
public class KgcMallNacosConfig {
/*
測驗 批量讀取 配置資訊
*/
private String config;
}
3.2 請求
/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: nacos配置中心測驗入口
*/
@RestController
public class KgcMallNacosConfigController {
@Autowired
private KgcMallNacosConfig kgcMallNacosConfig;
/**
* @param : []
* @return : java.lang.String
* @author : huayu
* @date : 28/11/2022
* @description : 讀取遠程nacos配置中心添加的統一自定義配置,回傳
*/
@GetMapping("/testNacosConfig")
public String testNacosConfig() {
//測驗 批量讀取
return kgcMallNacosConfig.getConfig();
}
}
3.3 測驗

4、讀取組態檔的組成
prefix-active-extension
prefix:前綴,默認為服務名
active:激活環境
extension:檔案后綴(propertion或者yml),需要跟配置中心一致
${spring.cloud.nacos.config.prefix}.${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
4.1 active指定配置環境
# 指定nacos配置中心支持的組態檔后綴,注意:nacso上增加的組態檔后綴要跟此處一致,默認值properties
spring.cloud.nacos.config.file-extension=yml
# 指定環境
# 組態檔前綴(默認以 服務名為前綴)
spring.cloud.nacos.config.prefix=config
## 指定激活環境
spring.profiles.active=test
# 最終拼接出來的就是 config-test-yml
4.2 添加組態檔

4.3 測驗

5、命名空間 和 分組
5.1 添加命名空間


5.2 指定命名空間個分組
# 指定nacso配置中心的名稱空間,配置的是對應名稱空間的id值,不是名稱
# 官方建議:namespace名稱空間,作為環境區分,不同環境,使用不同的名稱空間
spring.cloud.nacos.config.namespace=0e35ec99-dfac-45eb-84bb-e9d8a35f726e
# 指定名稱空間下的分組,一般都是用于區分相同環境加的不同應用專案組,如果不配合配置,默認使用的是當前名稱空間下的默認分組DEFAULT_GROUP,也支持自定義分組
spring.cloud.nacos.config.group=KH96_GROUP
5.2.1 添加配置

6、組態檔級別
6.1 組態檔級別
主配置 > 擴展配置 > 共享配置
相同型別配置下,下標越大優先級越高;
6.2 共享配置
6.2.1 配置資訊
# nacos 的共享配置,此配置項是一個陣列,陣列的下標越大,優先級越高,同等的共享配置,高優先級自動覆寫低優先級
# 提醒:nacos所有的配置中,主配置存在的情況下,具有最高優先級,同等配置不會被共分享配置覆寫(所以先洗掉主配置)
spring.cloud.nacos.config.shared-configs[0].data-id=kgcmall96-shared-config.yml
spring.cloud.nacos.config.shared-configs[0].group=KH96_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true
6.2.2 添加組態檔

6.2.3 測驗
需要先洗掉主配置,因為它優先級最高;


6.2.4 在配置一個共享配置,下標1
# 下標1覆寫下標0的配置
spring.cloud.nacos.config.shared-configs[1].data-id=kgcmall96-priority-config.yml
spring.cloud.nacos.config.shared-configs[1].group=KH96_GROUP
spring.cloud.nacos.config.shared-configs[1].refresh=true
6.2.5 添加組態檔

6.2.6 測驗

6.3 擴展配置
6.3.1 配置資訊
## nacos擴展配置,此配置項是一個陣列,陣列的下標越大,優先級越高,同等的共享配置,高優先級自動覆寫低優先級
## 擴展配置的優先級低于主配置,高于共享配置,如果某種場景下需要單獨覆寫共享配置,就可以使用擴展配置,比如某個oracle,其他都意思mysql
spring.cloud.nacos.config.extension-configs[0].data-id=kgcmall96-extend-config.yml
spring.cloud.nacos.config.extension-configs[0].group=KH96_GROUP
spring.cloud.nacos.config.extension-configs[0].refresh=true
6.3.2 添加組態檔

6.3.3 測驗

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538690.html
標籤:其他
下一篇:不好意思,UUID 該換了!
