花小錢,周邊遊,馬上搶,請關注公眾號:愛訂不訂
作者:唐璜
關於Nacos已經展開了三篇文章:
初探Nacos(二)-- SpringCloud使用Nacos的服務註冊與發現
初探Nacos(三)-- SpringBoot下整合Dubbo和Nacos
Spring使用Nacos作為配置中心,請直接參考官方例子:nacos-spring-config-example。我們今天來嘗試的是SpringBoot下使用Nacos作為配置中心。
這次我們不再新建專案,直接在之前的《初探Nacos(二)-- SpringCloud使用Nacos的服務註冊與發現》專案的消費者服務(模組名:nacos-demo-rest-consumer)上基礎上進行。
首先,我們在pom.xml新增依賴。
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.0-RC1</version>
</dependency>
複製程式碼
然後在application.properties增加一行配置:
nacos.config.server-addr=127.0.0.1:8848
複製程式碼
第二步,在SpringBoot啟動類上加上註解@NacosPropertySource(dataId = "nacos-demo-rest-consumer", autoRefreshed = true),dataId為配置中心的配置源唯一ID,autoRefreshed設定為自動重新整理配置。 再通過Nacos的 @NacosValue 註解設定屬性值,其中${nacos.test.properties:123}冒號後面的值表示如果取不到配置給的一個預設值。
@NacosValue(value = "${nacos.test.properties:123}", autoRefreshed = true)
private String testProperties;
@GetMapping("/test")
public String test(){
return testProperties;
}
複製程式碼
包含原有程式碼,整體程式碼如下圖:
第三步,登入Nacos控制檯,在配置管理-配置列表點選右側的+號按鈕,進入新建配置介面,DataId按照前面註解@NacosPropertySource的值,配置格式為properties,配置內容使用nacos.test.properties為key,如下圖設定後,點選發布。
第四步,啟動該消費者服務,會看到日誌...Nacos Config Metadata : dataId='nacos-demo-rest-consumer', groupId='DEFAULT_GROUP', beanName='nacosConsumerApplication'..., 開啟瀏覽器,訪問http://127.0.0.1:18081/test,可以看到已成功讀取到配置檔案。
我們到Nacos控制檯配置管理-配置列表對於DataId的一行右側點選編輯進行修改配置,將配置內容改為nacos.test.properties=abc123,點選發布按鈕。
然後我們再到瀏覽器重新整理頁面,可以看到已自動重新整理。整個過程非常順利,其他的配置格式大家也可以嘗試一下。當然SpringCloud下使用Nacos作為配置中心也會有所不同,目測要用到Spring cloud alibaba,暫時不考慮使用,有空我們們再一起嘗試。