spring cloud alibaba的nacos组件作配置中心
nacos组件作配置中心的简单使用
common中添加依赖 nacos配置中心
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在customer项目中创建/src/main/resources/bootstrap.properties
spring.cloud.nacos.config.server-addr=123.57.214.18:8848
注意:
springboot和springcloud的版本不能太高,否则无法读取bootstrap.properties的配置
浏览器去nacos里的配置列表,点击+号,data ID:gulimall-coupon.properties,配置
# gulimall-coupon.properties
coupon.user.name="配置中心"
coupon.user.age=12
代码中
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
@Autowired
private CouponService couponService;
@Value("${coupon.user.name}")//从application.properties中获取//不要写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);
}
就可以了
nacos实现开发环境隔离
在nacos浏览器中还可以配置:
命名空间:用作配置隔离。(一般每个微服务一个命名空间)
可以在bootstrap.properties里面
# 可以选择对应的命名空间 # 写上对应环境的命名空间ID
spring.cloud.nacos.config.namespace=b176a68a-6800-4648-833b-be10be8bab00
默认public。默认新增的配置都在public空间下
开发、测试、开发可以用命名空间分割。properties每个空间有一份。
配置集:一组相关或不相关配置项的集合。
配置集ID:类似于配置文件名,即Data ID
配置分组:默认所有的配置集都属于DEFAULT_GROUP。双十一,618的优惠策略改分组即可
可以在bootstrap.properties里面
# 更改配置分组
spring.cloud.nacos.config.group=1111
nacos配置多数据集
在其中用数组spring.cloud.nacos.config.extension-configs[]写明每个配置集
spring.cloud.nacos.config.server-addr=123.57.234.28:8848
spring.cloud.nacos.config.namespace=00a58fcd-baca-48c1-a79b-dc79090742a7
spring.cloud.nacos.config.group=1111
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
spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true
spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true
然后注释掉application.yml里面的内容并在nacos中创建不同的文件代替
启动访问正常