Spingboot2.x集成Nacos配置中心DEMO
1 页面配置信息添加
1.1 新建命名空间
进入nacos控制台页面–>命名空间–>新建命名空间–>填写命名空间ID、名称、描述信息后,点击确定进行保存
1.2 添加配置信息
进入nacos控制台页面–>配置列表–>选择我们需要的命名空间–>点击“+”按钮进行添加–>填写配置信息–>发布
配置信息填写示例:
Data ID
配置集ID, 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
- prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
- spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 p r e f i x . {prefix}. prefix.{file-extension}
- file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
Group
配置分组,是组织配置的维度之一。通过一个有意义的字符串(如 Buy 或Trade)对配置集进行分组,从而区分 Data ID 相同的配置集。当在Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用 DEFAULT_GROUP。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和MQ_topic配置。
配置格式及配置内容
配置格式:配置内容的文件格式
配置内容:需要动态配置的配置信息
2 依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。
3 配置信息设置
在resource目录下添加bootstrap.yml配置文件,并添加nacos相关配置信息
spring:
application:
# 用于组合Data ID,可不设置
name: NacosConfigManage
cloud:
nacos:
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
# Data ID 前缀
prefix: nacos-config-test
# 配置文件类型
file-extension: yaml
# 配置分组
group: LOCAL_GROUP
# 命名空间
namespace: 4fecf2dc-ef91-4370-ad2f-d77f013ce346
3 测试类
package com.test.springbootplus.controller;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <pre>
* nacos配置 API接口
* </pre>
*
* @author yjj
* @since 2021-12-03
*/
@RestController
// @RefreshScope 实现配置自动更新
@RefreshScope
@Api(tags="nacos配置 API")
public class NacosConfigController {
@Value("${service.enable:true}")
private String status;
@Value("${service.message:您已经开启了配置}")
private String message;
@GetMapping("/status")
public String getStatus() {
return status;
}
@GetMapping("/message")
public String getMessage() {
return message;
}
}
4 更改配置前访问
调用 http://127.0.0.1:8089/message
调用 http://127.0.0.1:8089/status
4 更改配置
进入nacos控制台页面–>配置列表–>选择我们需要的命名空间–>点击需要修改的配置操作列的编辑按钮–>修改配置内容中的配置信息–>发布
4 更改配置后访问
调用 http://127.0.0.1:8089/message
调用 http://127.0.0.1:8089/status
可以看到,配置信息已经被更改。