目录
一、相关文档
Open API 指南:https://nacos.io/docs/v2/guide/user/open-api/
二、配置列表新增热更新配置文件
1、Nacos注册中心 -- 创建配置
2、配置内容
# Data ID:[服务名]-[运行环境].[后缀名]
user-service-dev.yaml
# 配置日期格式化格式
pattern:
dateformat: yyyy-MM-dd HH:mm:ss
config:
count: 1
三、SpringBoot 读取配置流程
-
父工程引入依赖
//nacos-config
implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config'
-
新增bootstrap.yml文件
spring:
application:
# 服务名,对应Data ID的一部分
name: user-service
profiles:
# 运行环境,对应Data ID的一部分
active: dev
cloud:
nacos:
# nacos 服务端地址
server-addr: 192.168.10.104:10001
discovery:
# 命名空间ID
namespace: 44480e91-8290-43e4-9129-2d2d42ecd30a
# 配置集群名称,也就是机房位置,如:HZ,杭州
cluster-name: HZ
# nacos登录
username: nacos
password: nacos
# 是否是临时实例
ephemeral: false
config:
# 后缀名,对应Data ID的一部分
file-extension: yaml
namespace: 44480e91-8290-43e4-9129-2d2d42ecd30a
四、工程配置热更新
1、方式一:@Value和@RefreshScope配合使用
2、方式二:使用@ConfigurationProperties注解,需创建以下类
@Component
@Data
@ConfigurationProperties(prefix = "config")
public class NacosConfig {
private int count;
}
3、使用示例
@RequestMapping("/user")
@RestController
@RefreshScope //方式一热更新
public class UserController {
//方式一获取值
@Value("${pattern.dateformat}")
private String dateformat;
//方式二获取值
@Autowired
private NacosConfig nacosConfig;
@GetMapping("/date")
public String getDate() {
int count=nacosConfig.getCount();
String date=LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
//count:date方式一热更新date展示,方式二热更新count展示
return count+":"+date;
}
}
4、访问地址
http://localhost:8082/user/date
5、测试结果
6、修改配置,再访问验证
pattern:
dateformat: yyyy年MM月dd日 HH:mm:ss
config:
count: 10