赞
踩
命名空间可以被视为一个项目,通常一个项目占用一个命名空间,在这里我们创建一个NACOS_TEST的命名空间。
开发中会有分支的概念,一般而言会有dev(开发)、pro(生产)、test(测试)三个分支。
分支对应到Nacos中就是Group的概念,接下来创建三个Group:
(1)选择对应命名空间
选择刚刚创建好的命名空间:
(2)创建配置文件
注意:这里创建的配置文件,要求和后面创建的项目名称(spring.application.name)是相同的。
(3)克隆配置文件
(4)查看结果
<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>
创建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
# 已经创建好的命名空间,会有一个id
namespace: ae3c836e-931e-4def-b288-cac8278ca947
# 配置文件所在的group
group: dev
# 配置文件的文件类型
file-extension: properties
注意:配置文件的ID是{spring.cloud.nacos.config.fileExtension},且它的group是${spring.cloud.nacos.config.group}。
@RestController
@RequestMapping(("/nacos"))
@RefreshScope
public class NacosProviderController {
@Value("${name}")
private String name;
@GetMapping("/name")
public String getName() {
return name;
}
}
注意:这里的@RefreshScope注解是用于动态刷新配置的,当修改完配置后,不需要重启项目,即可正常读取修改后的数据。
启动项目,发现项目运行于8082端口,说明读取Nacos配置文件成功:
访问 http://localhost:8082/nacos/name ,查看结果:
结论:项目正常读取配置中的数据。
修改配置文件:
不需要重启项目,直接重新请求接口,查看结果:
结论:配置动态刷新,不需要重启项目。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。