Nacos(三)-Nacos Spring Cloud-配置中心

前兩篇記錄了下載安裝nacos、使用nacos作爲註冊中心:

本篇記錄使用nacos作爲配置中心,並通過配置頁面修改配置進行動態刷新演示

一、項目介紹

繼續使用上一篇創建的項目nacos,創建新module cloud-config:
在這裏插入圖片描述

二、開發配置

1、添加依賴

pom.xml

<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>Finchley.SR2</spring-cloud.version>
	</properties>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>


	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
			<version>0.9.0.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

主要包含:

  • SpringCloud配置
  • alibaba-nacos-config
    這裏與註冊中心不同的是config,兩個可以單獨使用

2、添加配置

bootstrap.properties

spring.application.name=cloud-config
server.port=30400

spring.cloud.nacos.config.server-addr=192.168.1.125:8848

配置Nacos server 的地址和應用名
這裏配置文件必須使用bootstrap文件名,並且需要配置spring.application.name,具體原因見下面介紹 Nacos 配置管理 dataId部分

3、編寫接口

@RestController
@RequestMapping("user")
@RefreshScope
public class UserController {

    @Value("${userName:123}")
    private String userName;

    @RequestMapping("/get")
    public String get() {
        return userName + " hello";
    }
}

使用@Value註解讀取配置userName;
使用Spring Cloud原生註解 @RefreshScope 實現配置自動更新

4、驗證

啓動服務,並用postman訪問接口:
在這裏插入圖片描述
注:這裏因爲讀取的鍵爲userName,讀取的是電腦配置的用戶名,使用其他名字將會打印 123 hello

三、修改配置

打開nacos頁面配置列表,點“+”號:
在這裏插入圖片描述
新建配置
在這裏插入圖片描述
點擊頁面下方發佈按鈕,確認發佈後,看服務日誌:
在這裏插入圖片描述
再次訪問接口:
在這裏插入圖片描述
可以看到配置已經更新

四、配置分析

1、Data Id

Data Id 是nacos用來定定位配置內容的,完整格式爲:

${prefix}-${spring.profile.active}.${file-extension}
  • prefix :默認爲 spring.application.name,(也可以通過配置項 spring.cloud.nacos.config.prefix來配置)
  • spring.profile.active : 即爲當前環境對應的 profile,例如dev,當 spring.profile.active 爲空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成:
 ${prefix}.${file-extension}
  • file-exetension : 爲配置內容的數據格式,(可以通過配置項 spring.cloud.nacos.config.file-extension 來配置。目前只支持 properties 和 yaml 類型

因此,本例配置spring.application.name爲cloud-config,配置文件格式爲properties,則Data Id 爲“cloud-config.properties”

2、Group

配合Data Id 一起定位配置內容,暫時不修改,使用默認即可DEFAULT_GROUP

五、更多操作

1、查看歷史版本

點擊配置管理->歷史版本,輸入Data Id,Group,點擊查詢,可以看到配置的歷史版本,並可以查看詳情,或者回滾:
在這裏插入圖片描述

六、參考鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章