首页 > 其他分享 >nicerefresh--自动刷新Spring中@Value的值

nicerefresh--自动刷新Spring中@Value的值

时间:2024-03-22 09:25:53浏览次数:28  
标签:-- Spring nicerefresh RefreshScope Value suchtool 刷新 com

nicerefresh:自动刷新Spring项目中@Value的值。

@RefreshScope虽然有这个功能,但是,它在很多场景下会失效!而nicerefresh就是为了解决这一问题而产生的。用了nicerefresh,不需要加任何注解,即可自动刷新配置!

官网:https://www.yuque.com/knifeblade/opensource/nicerefresh

gitee:https://gitee.com/knifeedge/nicerefresh

github:https://github.com/knife-blade/nicerefresh

介绍

nicerefresh:自动刷新Spring项目中@Value的值。

快速开始

1.引入依赖

<dependency>
    <groupId>com.suchtool</groupId>
    <artifactId>nicerefresh-spring-boot-starter</artifactId>
    <version>{newest-version}</version>
</dependency>

2.启用

默认不启用。 启用方法是:在application.yml里添加配置:

suchtool:
  nicerefresh:
    enabled: true

原理

启动时扫描bean,如果有@Value,就记下来。在配置发生变化时,通过反射去修改@Value标注的字段。

为什么不用@RefreshScope?

@RefreshScope是有bug的,有很多失效的场景,比如:

  1. 假如A组件注入B组件,B组件上使用了@RefreshScope并使用@Value获取配置,那么A组件上必须也加上@RefreshScope,否则无法实现动态刷新。
  2. @RefreshScope 不能用在 @Scheduled、Listener、Timmer等类上,会有问题。

本组没有上边这些失效的问题。

详细配置

本组件支持使用SpringBoot配置文件进行配置,比如:application.yml。

配置

描述

默认值

suchtool.nicerefresh.enabled

是否启用

false

suchtool.nicerefresh.package-name

需要自动刷新的包

SpringBoot启动类所在的包

标签:--,Spring,nicerefresh,RefreshScope,Value,suchtool,刷新,com
From: https://www.cnblogs.com/knifeblade/p/18088677

相关文章

  • 肖sir__软件测试__html讲解(1)
    html一、基本介绍1、定义:html是一种超文本标记语言,也是一种标识性语言(不是编程语言)标记:记号(绰号)超文本:就是页面内容可以包含图片、链接,音乐,视频等素材。  2、为什么学习html?(1)测试页面元素,了解页面页面元素(页面是html语言编写的)(2)进行ui自动化需用到元素定位 3、html......
  • RC4加密
    RC4加密一.介绍在密码学中,RC4(来自RivestCipher4的缩写)是一种流加密算法(基于bit进行加密),密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。所谓对称加密,就是加密和解密的过程是一样的。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。RC4......
  • 雪花算法工厂
    packageio.binghe.seckill.infrastructure.utils.id;importjava.util.concurrent.ConcurrentHashMap;importjava.util.concurrent.ConcurrentMap;publicclassSnowFlakeFactory{ /** *默认数据中心id */ privatestaticfinallongDEFAULT_DATACENTER_ID=......
  • AES加密
    AES加密一.加密流程​​AES未使用Feistel结构。其前N-1轮由4个不同的变换组成:字节代替、行移位、列混淆和轮密钥加。最后一轮仅包含三个变换。而在第一轮前面有一个起始的单变换(轮密钥加),可以视为0轮。字节代替(SubBytes):用一个S盒完成分组的字节到字节的代替。行移位(ShiftRows):......
  • q3-瞎汤姆养-2024.3.22
    买了两个佛鳄龟,说真的现在直接买活龟太贵了,以前直接买活的30多也能买俩,现在不知道咋回事买不到了。如果在家待着就开始搞我的养殖大业了。按照之前的计划开搞,后面看看进度,争取每天都发照片,进行记录养殖周期,毕竟以前没搞过。鳄龟以前玩过。不过自己没孵化过,这个厂家说直接开盖不用......
  • Metasplotiable靶场渗透
    Metasplotiable靶场渗透一.信息收集1.获取IP地址由于虚拟机和本主机在同一局域网下,可以使用ipconfig指令查看主机和靶场的网络地址,再使用Nmap对靶场进行扫描,进行信息收集。​​IP地址的网络地址为192.168.172/24,使用Nmap扫描查找虚拟机对应IP地址。​如图,在本局域网下共运......
  • 永恒之黑复现
    永恒之黑复现一.永恒之黑介绍原理2020年3月,微软公布SMB远程代码执行漏洞(CVE-2020-0796)又称“永恒之黑”,该漏洞由SMB3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,没有检查长度是否合法,最终导致整数溢出,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码,攻......
  • Jackson进行JSON序列化/反序列化添加Java 8的日期和时间库支持
     添加依赖包<!--Jackson进行JSON序列化/反序列化添加Java8的日期和时间库支持--> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.13.0</version> ......
  • 悄悄分享几个极品网站,低调 工具 转载
    AI生成图片在线免费使用文生图模型SDXL 实时生成图片,效果超群。  ZLibrary之前分享的地址又更新了全网电子书都在这了:ZLibrary官方通道来了,不再担心找不到最新地址,配合这个脚本简直完美  朋友圈文案上传图片,立即生成20字左右的朋友圈文案。  古龙小说全集......
  • AQS 原理
    AQS(AbstractQueuedSynchronizer)是Java中用于构建锁和同步器的框架,它是并发包中很多同步类的基础。AQS提供了一种基于FIFO等待队列的同步器实现,通过内置的队列和状态管理机制,可以实现各种同步器,如ReentrantLock、CountDownLatch、Semaphore等。AQS的核心思想是使用一个整......