Nacos既提供注册中心,也提供配置中心。下面分别以两个例子来说明配置中心的使用。
目录
删除application.properties,增加bootstrap.properties
附3:显示写入Nacos config配置中心及监听代码示例
案例一:配置中心使用
人工在Nacos配置内容
在Nacos中人工定义如下
Data ID: firstapp-dev.properties
Group : DEFAULT_GROUP
配置格式: Properties
配置内容: weather=sun
temperature=20.55
其中Data ID的命令规则为:应用名-环境profile名.文件后缀
- 应用名(Data ID前缀):默认为 ${spring.appliction.name}, 也可以使用${spring.cloud.nacos.config.prefix}来配置
- 环境profile名:既${spring.profiles.active}指定的环境。 若不区分环境,则本内容既前面的中划线都可以不用存在。
- 文件后缀:既SpringBoot中配置文件扩展名,也是Nacos中的配置格式。
客户端使用
新建一个project或者module。 在生成的默认pom.xml增加nacos-config和bootstrap依赖。如下
<?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 https://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.7.10</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>firstapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>firstapp</name>
<description>firstapp</description>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<springcloud.version>3.1.6</springcloud.version>
<springcloudalibaba.version>2021.0.4.0</springcloudalibaba.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<!-- nacos-client2.0.4版本存在官方github上的#6999及#10385号Bug; nacos-client2.2.1版本存在当配置中心配置变化后客户端AsyncAppender进程数不断增加Bug -->
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud&