SpringBoot整合Nacos做配置中心
文章目录
一、在Nacos中预置配置文件
1.1 创建命名空间
命名空间可以被视为一个项目,通常一个项目占用一个命名空间,在这里我们创建一个NACOS_TEST的命名空间。

1.2 创建分组
开发中会有分支的概念,一般而言会有dev(开发)、pro(生产)、test(测试)三个分支。
分支对应到Nacos中就是Group的概念,接下来创建三个Group:
(1)选择对应命名空间
选择刚刚创建好的命名空间:

(2)创建配置文件
注意:这里创建的配置文件,要求和后面创建的项目名称(spring.application.name)是相同的。

(3)克隆配置文件

(4)查看结果

二、目录结构

三、pom依赖
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies>
四、配置Nacos
创建bootstrap.yaml(注意:bootstrap.yaml的加载优先级是最高的),并编辑该配置文件内容:
spring:application:# 与Nacos中配置文件名称相同name: nacos-separate-client-provider
cloud:nacos:config:# 配置文件地址server-addr: 192.168.189.41:8848,192.168.189.42:8848,192.168.189.43:8848# 已经创建好的命名空间,会有一个idnamespace: ae3c836e-931e-4def-b288-cac8278ca947
# 配置文件所在的groupgroup: dev
# 配置文件的文件类型file-extension: properties
注意:**配置文件的ID是{spring.cloud.nacos.config.fileExtension},且它的group是${spring.cloud.nacos.config.group}**。
五、提供服务
5.1 编写Controller接口
@RestController@RequestMapping(("/nacos"))@RefreshScopepublicclassNacosProviderController{@Value("${name}")privateString name;@GetMapping("/name")publicStringgetName(){return name;}}
注意:这里的@RefreshScope注解是用于动态刷新配置的,当修改完配置后,不需要重启项目,即可正常读取修改后的数据。
5.2 启动项目
启动项目,发现项目运行于8082端口,说明读取Nacos配置文件成功:

六、验证
6.1 验证基本功能
访问 http://localhost:8082/nacos/name ,查看结果:

结论:项目正常读取配置中的数据。
6.2 验证动态刷新配置
修改配置文件:

不需要重启项目,直接重新请求接口,查看结果:

结论:配置动态刷新,不需要重启项目。
版权归原作者 泼才 所有, 如有侵权,请联系我们删除。