1. 如何接入
- 导入依赖
- 在resources 下创建一个bootstrap.properties
spring.application.name=gulimall-coupon
# nacos 兼容了配置和注册发现
spring.cloud.nacos.server-addr=127.0.0.1:8848
- 以前在每个项目(服务)中properties写数据,现在可统一在一个平台,且可视化的区配置
@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);
}
- 需要给配置中心默认添加一个叫 数据集ID (gulimall-coupon.properties)
应用名.properties
- 给nacos的 配置列表的应用.properties 添加任何配置
- 动态获取配置 @RefreshScope–动态刷新
@Value("${}") —获取到配置,配置中心优先使用,
2. 服务隔离
- 命名空间:public(保留空间),默认新增的所有配合在public 空间
- 1.开发\测试\生产 环境隔离
spring.cloud.nacos.config.namespace=自动生成的UID(自己也可设置) - 2.每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,
只加载自己空间下的配置
- 配置集:
- 配置集ID:类似文件名. Data.ID
- 配置分组: 默认所有的配置集都属于:DEFAULT_GROUP;
spring.cloud.nacos.config.group=
3. 加载多个配置集
1)、微服务任何配置信息,任何配置文件都可以放在配置中心中
2)、只需要在bootstrap.properties说明加载配置中心中哪些配置文件即可
3) .@VaLue,@ConfigurationPropertieso o o
以前SpringBoot任何方法从配置文件中获取值,都能使用。
配置中心有的优先使用配置中心中的,|
spring.application.name=gulimall-coupon
spring.cloud.nacos.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=1
spring.cloud.nacos.config.group=prod
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