注意: 如果未安装 nacos 服务, 可以查看以下博客进行安装https://blog.csdn.net/qq_41806718/article/details/108537267
-
本地启动nacos
-
打开nacos管理系统 本地nacos地址
账号:nacos
密码:nacos -
找到配置列表,然后点击➕ 进行创建一个配置中心
-
设置自己的dataId ,groupId, 配置文件格式,配置内容
-
dataId 是 nacos-config-demo-2 的配置中心创建好了
-
创建一个boot项目,引入这三个坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
- 在resources 下新建一个bootstrap.properties文件,bootstrap.properties中添加
# 放入nacos服务器地址
nacos.config.server-addr=127.0.0.1:8848
#spring.application.name=spring-cloud-nacos-remote-config
- 在启动类上添加 dataId,groupId
// 如果 groupId 使用默认的 DEFAULT_GROUP 可以不加,否则 就加上 groupId 对应上 dataId 中的 groupId。 autoRefreshed 是刷新配置
@NacosPropertySource(dataId = "nacos-config-demo-2", autoRefreshed = true)
- 创建一个controller
@RestController
@RequestMapping("config")
public class ConfigController {
// 获取nacos 对应 dataId, groupId 下的配置
@NacosValue(value = "${test.config:默认值}", autoRefreshed = true)
private String test;
@RequestMapping("getConfig")
public String getConfig(){
return test;
}
}
- 把 test.config 改成 test.config1,测试一下读取默认值
- 然后改回去正确读配置文件 test.config,重启服务
- 返回的是nacos中配置的值
- 现在改一下nacos ,然后发布
- 在刷新浏览器查看 nacos 中读取的值,发现已经刷新了。
注意事项:由于这是基于测试,dataId 并没有遵守规范,dataId 正确的规范是
${prefix}-${spring.profiles.active}.${file-extension}
以下是官方介绍,官方地址 :https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html