未采用动态配置前,如果集群的话,某个服务集群中的每台服务器配置都不一样,需要单个打包部署,工作量大,不易维护。
1,引入依赖,和注册中心一样,因为子模块都有使用,放到公用模块commmon
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2, nacos配置,命名空间作为服务区分,新建product,member等命名空间。分组作为开发环境区分,如dev,prod分组
3,子模块配置:
/src/main/resources/bootstrap.properties
springboot会先与application.properties加载bootstrap.properties
配置项:
spring.application.name=product
spring.cloud.nacos.config.namespace= // 取自nacos
spring.cloud.nacos.config.server-addr=192.168.56.1:8848
spring.cloud.nacos.config.group=dev
默认Data-Id :product.properties
添加新的配置文件:
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true
4,@RefreshScope 在需要热加载的类上添加
@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).put("age",age);
}
这样就可以实时获取配置中心的配置数据。
标签:name,spring,配置,nacos,alibaba,springcloud,config,cloud From: https://www.cnblogs.com/lihenhao/p/17178149.html