花小钱,周边游,马上抢,请关注公众号:爱订不订
作者:唐璜
关于Nacos已经展开了三篇文章:
初探Nacos(二)-- SpringCloud使用Nacos的服务注册与发现
初探Nacos(三)-- SpringBoot下整合Dubbo和Nacos
Spring使用Nacos作为配置中心,请直接参考官方例子:nacos-spring-config-example。我们今天来尝试的是SpringBoot下使用Nacos作为配置中心。
这次我们不再新建项目,直接在之前的《初探Nacos(二)-- SpringCloud使用Nacos的服务注册与发现》项目的消费者服务(模块名:nacos-demo-rest-consumer)上基础上进行。
首先,我们在pom.xml添加依赖。
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.0-RC1</version>
</dependency>
复制代码
然后在application.properties增加一行配置:
nacos.config.server-addr=127.0.0.1:8848
复制代码
第二步,在SpringBoot启动类上加上注解@NacosPropertySource(dataId = "nacos-demo-rest-consumer", autoRefreshed = true),dataId为配置中心的配置源唯一ID,autoRefreshed设置为自动刷新配置。 再通过Nacos的 @NacosValue 注解设置属性值,其中${nacos.test.properties:123}冒号后面的值表示如果取不到配置给的一个默认值。
@NacosValue(value = "${nacos.test.properties:123}", autoRefreshed = true)
private String testProperties;
@GetMapping("/test")
public String test(){
return testProperties;
}
复制代码
包含原有代码,整体代码如下图:
第三步,登录Nacos控制台,在配置管理-配置列表点击右侧的+号按钮,进入新建配置界面,DataId按照前面注解@NacosPropertySource的值,配置格式为properties,配置内容使用nacos.test.properties为key,如下图设置后,点击发布。
第四步,启动该消费者服务,会看到日志...Nacos Config Metadata : dataId='nacos-demo-rest-consumer', groupId='DEFAULT_GROUP', beanName='nacosConsumerApplication'..., 打开浏览器,访问http://127.0.0.1:18081/test,可以看到已成功读取到配置文件。
我们到Nacos控制台配置管理-配置列表对于DataId的一行右侧点击编辑进行修改配置,将配置内容改为nacos.test.properties=abc123,点击发布按钮。
整个过程非常顺利,其他的配置格式大家也可以尝试一下。当然SpringCloud下使用Nacos作为配置中心也会有所不同,目测要用到Spring cloud alibaba,暂时不考虑使用,有空咱们再一起尝试。