nacos实现动态配置

前提:

        无需重启项目,动态配置配置文件

第一步

使用处添加@RefreshScope 动态刷新注解

实例

  第二步

Data Id :对应服务名 

Group:服务名对应的分组名称

配置格式:根bootstrap.yml中指定的file-extension相同

实例

第三步

点击发布 此时就可以看到控制台输出的信息

@RefreshScope

  • 需要动态刷新的类标注@RefreshScope 注解
  • @RefreshScope 注解标注了@Scope 注解,并默认了ScopedProxyMode.TARGET_CLASS; 属性,此属性的功能就是在创建一个代理,在每次调用的时候都用它来调用GenericScope get 方法来获取对象
  • 如属性发生变更会调用 ContextRefresher refresh() -》RefreshScope refreshAll() 进行缓存清理方法调用,并发送刷新事件通知 -》 GenericScope 真正的 清理方法destroy() 实现清理缓存
  • 在下一次使用对象的时候,会调用GenericScope get(String name, ObjectFactory<?> objectFactory) 方法创建一个新的对象,并存入缓存中,此时新对象因为Spring 的装配机制就是新的属性了。

猜你喜欢

转载自blog.csdn.net/weixin_44912855/article/details/121357731