您的位置:首页 > 编程语言 > Java开发

SpringCloud Alibaba Nacos作为配置中心(二)-----------配置Nacos客户端

2019-01-19 12:21 931 查看

   上一篇文章中已经启动了配置中心的Nacos Server,这篇文章说一下客户端如何配置

  • 创建springboot工程(nacos客户端)

 我是用的是springboot2.0.8版本,工程最初的目录情况如下

  •  引入依赖

引入nacos客户端依赖

[code]<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
<!-- dependency management -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>0.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

我用的是当前最新的0.2.1.RELEASE版本,

注:springboot1.5.x版本要用0.1.x版本的nacos客户端,由于我是用的是springboot2.0.8版本,所以是用的是0.2.1版本

大家可以在maven仓库中查看当前的所有的版本https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-alibaba-nacos-config

所以最终我的整个pom文件如下

[code]<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.8.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>nacos-client</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>

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

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>

<!-- dependency management -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>0.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

新建添加配置文件

在resources文件夹下添加bootstrap.properties启动配置文件

 bootstrap.properties文件中的内容如下

 

[code]spring.application.name=nacos-config-client
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

application.properties文件为空 

创建Controller类

注:

  1. 添加@RefreshScope注解,添加了该注解test.name才能实现动态更新
  2. 属性值name上要加@Value("${test.name}")注解,从配置文件中读取name的值

在Nacos Server添加配置文件

访问http://localhost:8848/nacos/index.html

点击最右侧的加号,添加新的配置文件如下图所示:

注:

  1. dataId就是客户端尧都区的配置文件名称,配置文件明就是bootstrap.properties文件中的spring.application.name配置的应用名称,注意dataId要加上文件的类型.properties.
  2. 配置格式勾选properties。虽然上面的dataid已经写明了文件后缀,但是这里还是要勾选。
  3. 配置内容就填写应用的配置文件

 创建完成后就可以在配置文件列表中看到,默认的添加到默认组DEFAULT_GROUP中,以及默认的命名空间Public中。以后的文章会进一步介绍命名空间和默认组的修改。

 访问接口验证动态配置更新

http://localhost:8080/test

可以看到返回值是我们在配置中心中配置的 

更新配置中心属性值

在server端编辑配置文件修改为test.name=test-nacos-2 ,然后点击发布,不需要重启客户端,再次访问http://localhost:8080/test,会发现属性值自动修改了

到目前为止,我们已经介绍了以单机模式启动配置中心nacos server,并且配置客户端,实现客户端从server端获取配置文件你,并且客户端配置文件动态更新。后面的文章我们在继续进一步介绍

  1.  yaml 的文件扩展名配置方式,springboot的配置文件有properties文件和yml文件两种
  2. 支持profile粒度的配置,实现开发环境、测试环境、生产环境多种环境下,只需要更改 
    ${spring.profiles.active}
     参数配置即可配置文件的切换。
  3. 自定义 namespace 的配置
  4. 支持自定义 Group 的配置
  5. 支持自定义扩展的 Data Id 配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐