您现在的位置是:首页 >技术杂谈 >springboot集成nacos配置管理网站首页技术杂谈
springboot集成nacos配置管理
简介springboot集成nacos配置管理
个人实践:
Namespace定义环境,例如:开发环境、测试环境、生产环境。
Group定义不同的应用。
DataId用来区分配置,例如:mysql配置,redis配置,kafka配置。
0、前提:已安装启动nacos。
去控制台创建新的命名空间:
在develop命名空间下,创建新的配置:dataId=mysql,group=yzh-maven
1、引入jar包
<!-- https://mvnrepository.com/artifact/com.alibaba.boot/nacos-config-spring-boot-starter -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.12</version>
</dependency>
注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
2、application.properties配置
## nacos配置
# 开启配置预加载功能
nacos.config.bootstrap.enable=true
nacos.config.server-addr=127.0.0.1:8848
nacos.config.namespace=56705fdc-7fb8-45bc-80aa-f79c7d94baa5
nacos.config.group=yzh-maven
#nacos.config.data-id=mysql
nacos.config.data-ids=mysql,redis
# 配置文件类型
nacos.config.type=properties
# 开启自动刷新
nacos.config.auto-refresh=true
官方配置文档说明:spring boot 0.2.2 以及 0.1.2版本新功能使用手册 · nacos-group/nacos-spring-boot-project Wiki · GitHub
3、代码使用
@RestController
@RequestMapping("/nacos")
@Slf4j
public class NacosController {
@Value(value = "${name}")
private String name;
@Value(value = "${password}")
private String password;
@GetMapping("/get")
public String get() {
log.info("password={}", password);
return password;
}
@GetMapping("/name")
public String name() {
log.info("name={}", name);
return name;
}
}
4、浏览器请求
http://localhost:8180/nacos/get
123
http://localhost:8180/nacos/name
admin
补充
问题
自动刷新:nacos.config.auto-refresh=true,实际不生效,未解决。
Open API
例:发布配置,post请求,
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?tenant=56705fdc-7fb8-45bc-80aa-f79c7d94baa5&dataId=mysql&group=yzh-maven&content=name=admin2"
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。