nacos基本配置
- 新建一个库存模块的nacos配置
- 在商品模块的pom中添加配置依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 在yml添加上所需要的config配置
spring:
application:
name: service-goods
cloud:
nacos:
server-addr: localhost:8848
discovery:
ephemeral: false
config:
file-extension: yaml
server-addr: localhost:8848
- 在控制层中添加添加一个接口进行测试。
@Value("${env}")
String env;
@GetMapping("/config")
public String getConfig(){
return "当前读取的配置:" + env;
}
注:在控制层上添加@RefreshScope(动态刷新)注解,可以实现实时更改服务配置并且显示在前端页面上
在浏览器地址栏中输入地址 localhost:8200/goods/config 就能获取到在nocas中设置的配置了
nacos本地数据库配置
- 在nacos\conf\application.properties中修改数据库配置
- 在本地创建nacos数据库,并且执行conf下的mysql-schema.sql
可以看到有很多关于nacos配置的表
- 因为修改了nacos配置,所以需要重启nacos服务
重启服务后,在nacos注册中心重新进行配置发布之后,就能看见配置信息表中增加了一行数据,完成了配置数据的持久化
根据dataID读取配置
dataID的命名规则如下:
${prefix}-${spring.profiles.active}.${file-extension}
同一个服务通过${spring.profiles.active}来区别配置
- 创建开发配置和测试配置
- 在商品模块yml文件中添加以下配置,表示我们使用test配置
spring:
profiles:
active: test
启动程序,刷新浏览器就能看见使用的是test配置
根据Group读取配置
- 创建一个goods组的配置
- 在商品模块yml文件中添加以下配置,表示我们使用goods组中的配置
spring:
cloud:
nacos:
config:
group: goods
- 在控制层中添加添加一个接口进行测试。
@Value("${goods.name:}")
String goodsName;
@GetMapping("/config/goods")
public String getGoodsConfig(){
return "当前商品名称:"+goodsName;
}
启动程序,刷新浏览器就能看见使用的是goods组中的配置
总结:通过修改项目的yml中我们可以使用nacos中的不同配置。(namespace->group->dataID)