nacos 系列(config) - spring cloud 內建
文章目錄
- nacos 系列(config) - spring cloud 內建
-
- 1. 修改pom.xml
- 2. 啟動類注解(不需要)
- 3. 配置檔案修改
- 4. 配置參數注入
- 5. 命名空間
需要依賴服務端, 如果還沒有搭建
nacos
服務端的, 請先将服務端跑起來
nacos
cloud
版的
config
用戶端和
boot
版不太一樣, 不需要新增和修改注解, 代碼侵入年更小, 隻要加上jar包和配置就好了
cloud 版的配置和boot不一樣, 多幾個層級
1. 修改pom.xml
pom檔案加入
nacos
的cloud版
config
元件
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.1.1.RELEASE</version>
</dependency>
2. 啟動類注解(不需要)
cloud版啟動類不需要修改任何東西
3. 配置檔案修改
注意: 需要在修改, 而不是
bootstrap.properties
application.properties
配置檔案加上
nacos
服務端的位址(隻要加上
server-addr
就能跑了)
spring.cloud.nacos.config.server-addr=nacos服務端位址:8848
spring.application.name=應用名稱
# 指定配置的字尾,支援 properties、yaml、yml,預設為 properties
spring.cloud.nacos.config.file-extension=properties
下面是一些
nacos
配置(進階用)
4. 配置參數注入
- 直接用spring的
即可@Value
- 不能使用
(我嘗試用過, 取不到值)@NacosValue
通過 Spring Cloud 原生注解實作配置自動更新
@RefreshScope
- 類不能是
的
final
5. 命名空間
nacos
設計上是有命名空間這個概念的
- 個人了解
是分開發, 測試, 生産的環境區分命名空間
-
是叢集或這地域區分組Group
但是我試了各種情況, 發現都取不到dev中的配置…
以下一種是用命名空間名稱, 一種是用命名空間的id, 都不行…
spring.cloud.nacos.config.namespace=dev
spring.cloud.nacos.config.namespace=3ad2b8b5-e443-4053-8c02-2c322280dfa8
有知道的同學請留言下