前言
本文介绍Spring Cloud
如何通过Nacos
作为配置中心
Nacos服务搭建过程略,本文案例使用官网提供的服务,详细信息如下
- Nacos控制台
- 地址 :http://console.nacos.io/nacos/index.html
- 账号/密码 :nacos/nacos
- 客户端配置
- 注册中心 :spring.cloud.nacos.discovery.server-addr = console.nacos.io:80
- 配置中心 :spring.cloud.nacos.config.server-addr = console.nacos.io:80
使用教程
第一步 创建项目
创建Maven项目:nacos-spring-cloud-config
第二步 加入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
通过引入spring-cloud-starter-alibaba-nacos-config
依赖实现自动配置
第三步 配置文件
通过Nacos Open API创建配置,dataId=spring-cloud-config-nacos.properties,内容为useLocalCache=true
curl -X POST "http://console.nacos.io/nacos/v1/cs/configs?dataId=spring-cloud-config-nacos.properties&group=DEFAULT_GROUP&content=useLocalCache=true"
本地创建bootstrap.properties
文件,并加入如下配置
spring.application.name = spring-cloud-config-nacos
spring.cloud.nacos.config.server-addr = console.nacos.io:80
默契情况下,应用会请求dataId=${spring.application.name}.properties对应的内容作为配置
第四步 引导程序
@SpringBootApplication
public class NacosConfigApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class,args);
}
}
第五步 接口开发
@RefreshScope
@RestController
@RequestMapping("/config")
public class ConfigController {
@Value(value = "${useLocalCache:false}")
private String useLocalCache;
@RequestMapping("/get")
public String get() {
return useLocalCache;
}
}
该接口用于测试配置获取以及配置更新
第六步 启动测试
应用启动后,调用curl http://localhost:8080/config/get
,返回true
通过Nacos Open API修改配置
curl -X POST "http://console.nacos.io/nacos/v1/cs/configs?dataId=spring-cloud-config-nacos.properties&group=DEFAULT_GROUP&content=useLocalCache=false"
再次访问curl http://localhost:8080/config/get
,返回false
源码 & 参考
参考文档 :https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html