Nacos配置管理
目录
一、相关文档
二、配置列表新增热更新配置文件
三、SpringBoot 读取配置流程
四、工程配置热更新
一、相关文档
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