前提条件
首先需要先下载 Nacos 并启动 Nacos server。操作步骤如下:
- 下载安装包:
https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-server-1.3.2.tar.gz
- 进行解压:
tar -xvf nacos-server-1.3.2.tar.gz cd nacos/bin
- 启动nacos服务
Linux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh -m standalone如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:bash startup.sh -m standaloneWindows启动命令:cmd startup.cmd或者双击startup.cmd运行文件。
- 启动之后就可以访问nacos的webUI界面了:
http://localhost:8848/nacos/#/clusterManagement?dataId=&group=&appName=&serverId=&namespace=&namespaceShowName=public
如何在项目中引入nacos
1.添加依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 2.1.0.RELEASE
注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。
2.在 bootstrap.properties 中配置 Nacos server 的地址和应用名
spring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.application.name=example
3.给配置中心添加数据集data-id:
dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
- prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
- spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
- file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
4.通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新:
@RestController@RequestMapping("/config")@RefreshScopepublic class ConfigController { @Value("${test.name}") private String name; @Value("${test.sex}") private String sex; @RequestMapping("/get") public String get() { return "测试nacos配置中心实现动态配置"+"姓名:"+name+"=============性别:"+sex; }}
5.打开nacos web页面进行配置
6.在web页面做一次动态改动,然后刷新页面看到已经修改了
这样动态配置就生效了,而无需每次重启服务了。