天天看點

nacos 系列(config) - spring cloud 內建nacos 系列(config) - spring cloud 內建

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

配置(進階用)

nacos 系列(config) - spring cloud 內建nacos 系列(config) - spring cloud 內建

4. 配置參數注入

  • 直接用spring的

    @Value

    即可
  • 不能使用

    @NacosValue

    (我嘗試用過, 取不到值)
通過 Spring Cloud 原生注解

@RefreshScope

實作配置自動更新
  • 類不能是

    final

5. 命名空間

nacos

設計上是有命名空間這個概念的

  • 個人了解

    命名空間

    是分開發, 測試, 生産的環境區分
  • 組Group

    是叢集或這地域區分
    nacos 系列(config) - spring cloud 內建nacos 系列(config) - spring cloud 內建

    但是我試了各種情況, 發現都取不到dev中的配置…

    以下一種是用命名空間名稱, 一種是用命名空間的id, 都不行…

    spring.cloud.nacos.config.namespace=dev

    spring.cloud.nacos.config.namespace=3ad2b8b5-e443-4053-8c02-2c322280dfa8

有知道的同學請留言下

繼續閱讀