1. 對(duì)應(yīng)版本
| 組件 | 版本 |
|---|---|
| spring-boot | 2.4.2 |
| spring-cloud-starter-alibaba-nacos-config | 2021.1 |
2. 名詞解釋
Namespace:代表不同環(huán)境,如開發(fā)、測(cè)試、生產(chǎn)環(huán)境。
Group:代表某項(xiàng)目,如XX醫(yī)療項(xiàng)目、XX電商項(xiàng)目。
DataId:每個(gè)項(xiàng)目下往往有若干個(gè)工程(微服務(wù)),每個(gè)配置集(DataId)是一個(gè)工程(微服務(wù))的主配置文件。
在這里插入圖片描述
2.2 Nacos 數(shù)據(jù)模型
在這里插入圖片描述
3. nacos 頁(yè)面配置中心
3.1 命名空間
在這里插入圖片描述
3.2 配置列表
在這里插入圖片描述
3.3 配置文件
在這里插入圖片描述
wudl:
swagger:
enabled: true
title: 在線接口文檔
base-package: com.wudl.schedule.controller
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
tempurl: http://192.168.1.180:8848/nac
4. 代碼配置
4.1 pom 文件
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--Nacos config依賴-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
4.2 bootstrap.yml 配置內(nèi)容
spring:
application:
# 會(huì)自動(dòng)根據(jù)服務(wù)名拉取dataid對(duì)應(yīng)的配置文件。 如果dataid跟服務(wù)名不一致 就需要手動(dòng)指定dataid
# 跟服務(wù)名相同的dataid的配置文件,稱之為默認(rèn)的配置文件
# 除了默認(rèn)的配置文件 ,其他配置文件必須寫上后綴
name: platform-api-schedule
cloud:
nacos:
server-addr: 192.168.1.180:8848
username: nacos
password: nacos
# 解決控制臺(tái)循環(huán)打印ClientWorker日志
#config:
# namespace: public
# Nacos客戶端 默認(rèn)是Properties的文件擴(kuò)展名 (只針對(duì)默認(rèn)配置文件和profile)
# 一旦修改成了非Properties格式,則必須通過file-extension進(jìn)行設(shè)置
config:
file-extension: yaml
#refresh-enabled: false nacos客戶端將無(wú)法感知配置的變化
namespace: b8da4466-b9eb-48ec-80aa-0425fb2b1355
group: bigdata
refresh:
enabled: true
profiles:
active: dev
# 配置文件的優(yōu)先級(jí)(優(yōu)先級(jí)大的會(huì)覆蓋優(yōu)先級(jí)小的, 并且會(huì)形成互補(bǔ))
# profile> 默認(rèn)配置文件>extension-configs(下標(biāo)越大優(yōu)先級(jí)就越大)>shared-configs(下標(biāo)越大優(yōu)先級(jí)就越大)
server:
port: 8899
4.3 代碼配置
@Value注解可以獲取到配置中心的值,但是無(wú)法動(dòng)態(tài)感知修改后的值,需要利用@RefreshScope注解
@RefreshScope
public class ScheduleContorller {
@Value("${tempurl}")
public String tempurl;
4.4 獲取效果
在這里插入圖片描述