使用Nacos作为配置中心
同Nacos作为注册中心一样,我们同样参考alibaba的官方文档:Nacos配置中心
导入依赖
我们同样把Nacos作为配置中心的相关依赖导入到common模块中,因为我们自己设计的微服务都需要使用Nacos进行配置管理。
<!-- Nacos配置中心和注册中心的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
添加配置文件
我们同样以mall-coupon模块作为示例
在微服务的目录文件 /src/main/resources/bootstrap.properties配置 Nacos Config 元数据:
spring.application.name=mall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
分别是微服务的名称和连接的nacos配置中心地址。注意,Nacos同时能够兼顾配置中心和注册中心,所以两个地址是一样的。
完成上述两步后,应用会从 Nacos Config 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中。这里我们使用 @Value 注解来将对应的配置注入到 SampleController 的 userName 和 age 字段,并添加 @RefreshScope 打开动态刷新功能。
@Value("${user.name}")
String userName;
@Value("${user.age}")
int age;
测试一下Nacos测试中心
为了测试我们配置中心配置的数据是否生效,我们做一个简单的请求控制,在com.lastingwar.mall.coupon.controller.CouponController文件中添加如下代码:
@Value("${coupon.user.name}")
private String name;
@Value("${coupon.user.age}")
private Integer age;
@RequestMapping("/test")
public R test(){
return R.ok().put("name",name).