使用Nacos作为分布式配置中心之动态刷新配置项(重制版)

1.Spring Boot 整合 Nacos 配置中心

本次使用版本
boot: 2.3.11.RELEASE ;nacos-starter: 0.2.7
普通 SpringBoot 项目配置项引入方式主要有
@Value(“${key}”)
@ConfigurationProperties(prefix = “prefix”)

使用Nacos作为配置中心后,相应的替换为
@NacosValue(value = “${key}”,autoRefreshed = true)
@NacosConfigurationProperties(dataId = “config-test”, prefix = “prefix”, autoRefreshed = true)
nacos整合SpringBoot项目,这里不赘述,直接见官方文档
注意以下几点
1.使用 @NacosValue 载入属性时,要实现动态刷新,需在 @NacosPropertySource和@NacosValue 同时加上autoRefreshed = true
2.使用了@NacosConfigurationPropertie载入属性时,只需要在@NacosConfigurationPropertie上加上autoRefreshed = true就可以
3.由于属性文件使用的是@NacosConfigurationPropertie,相应的@EnableConfigurationProperties就无法将其加载到Spring上下文,所以需要在加上@Component
3.dataId 有点需要注意,如果没有显式指定后缀名,它默认是使用的properties,意味着下面的格式只能选择properties,否则会导致意想不到的异常;同样的,想要配置成yaml格式的配置文件,dataId需要手动指定后缀名 xxxx.yaml ,同时代码里面也一样,否则也会有问题。不知 后续会不会在框架层面进行自动匹配
在这里插入图片描述

2.Spring Cloud 整合 Nacos 配置中心

基本使用

Spring Cloud 使用起来就更简单了,整合步骤 见链接: 官方文档.
这里只说需要注意的点:
1.创建配置文件时,Data ID的后缀需要和配置格式保持一致
代码默认为 properties;代码在引用时需要和Data ID保持一致
与Spring Boot 不同点在于,这里的Data ID 必须指定对应的后缀
2.Data ID 命名规则
${prefix}-${spring.profiles.active}.${file-extension}
${prefix}默认为 ${spring.application.name}

自动刷新

  • 主配置(spring.cloud.nacos.config)默认开启刷新。
  • 共享配置和扩展配置(spring.cloud.nacos.config.shared-configsspring.cloud.nacos.config.extension-configs)默认未开启刷新。

在开启自动前提下,根据以下规则刷新配置:

  • @ConfigurationProperties
  • @Value + @RefreshScope
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值