springboot3.x使用@NacosValue无法获取配置信息问题解决
一、问题描述
springboot从2.x升级到3.x后,nacos的依赖包需要改成Spring Cloud的依赖包才能继续使用。升级好以后,首先,确定我的项目是能够连上nacos并且加载到配置信息的,因为数据库等信息都是从nacos加载过来,能够正常连接数据库。
但是我代码中使用@NacosValue来动态获取和刷新配置信息的地方没有取到值,导致程序执行过程中报空指针异常。我引入的nacos依赖包如下
<!-- nacos-config --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2023.0.1.2</version></dependency>
@NacosValue使用方式如下
/*** 动态刷新的配置信息 appId*/@NacosValue(value = "${demo.app-id}", autoRefreshed = true)private String appId;
在程序执行过程中,appId的值为null(没有取到),配置文件中确定有这个配置项,于是我尝试了一下使用@Value来取值,发现能正常取到,但是我还需要动态刷新的功能,要怎么做呢?
二、解决方案
要实现取值和动态刷新,显然通过实验证明使用@NacosValue是不得行了,因为使用了Spring Cloud的依赖包,所以根据官方文档显示,要通过 Spring Cloud 原生注解 @RefreshScope + @Value 来实现配置自动更新,我们可以用下面的方法达到同样的效果。
关于获取值: 在属性上使用@Value
关于值刷新:在属性所在的类上加上@RefreshScope
官方文档:Nacos 融合 Spring Cloud,成为注册配置中心 | Nacos 官网
参考案例如下
@RefreshScope
@Service
public class TestServiceImpl {/*** 动态刷新的配置信息 appId*/@Value(value = "${demo.app-id}")private String appId;
}
经过上面的方式对程序进行修改后,程序正常运行,配置项也能够正常获取和动态刷新了!
相关文章:
springboot3.x使用@NacosValue无法获取配置信息问题解决
一、问题描述 springboot从2.x升级到3.x后,nacos的依赖包需要改成Spring Cloud的依赖包才能继续使用。升级好以后,首先,确定我的项目是能够连上nacos并且加载到配置信息的,因为数据库等信息都是从nacos加载过来,能够正…...
sql获取时间差
MySQL SELECT TIMESTAMPDIFF(HOUR, 2023-10-01 12:00:00, 2023-10-02 15:30:00) AS hours_difference; PostgreSQL //EXTRACT(EPOCH FROM (2023-10-02 15:30:00::timestamp - 2023-10-01 12:00:00::timestamp)) // 获取的是两个时间相差的秒数,在此基础上除3600获…...
【深入理解Python中的闭包】如何有效使用嵌套函数和状态捕获!
深入理解Python中的闭包:如何有效使用嵌套函数和状态捕获 Python 作为一种动态的编程语言,允许我们用多种方式来设计和构建功能,其中之一就是 闭包(Closure)。闭包是一种强大的特性,可以帮助我们捕获和保持…...
npm配置阿里镜像库教程
为了配置npm使用阿里镜像库,可以按照以下步骤进行操作。这些步骤将帮助你加快包的下载速度,特别是在中国地区,因为阿里镜像库通常比官方npm仓库响应更快。 1. 配置全局镜像 可以通过运行以下命令来将npm的全局镜像配置为阿里镜像࿱…...
Apache JMeter压力测试工具使用
JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。 01 软件下载 下载地址: https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2 用浏览器下载发现慢得很,用迅雷下载非常快哟。 02 测试使用 在使用前需要先安装jd…...
前端零基础入门到上班:【Day4】HTML 多媒体与表单深度教程
HTML 多媒体与表单深度教程 **1. HTML 多媒体基础:深入理解 <video> 和 <audio> 标签****1.1 <video> 标签:详细剖析与用法****1.1.1 基础结构与属性详解****1.1.2 视频格式的兼容性与示例****1.1.3 视频控制的实际应用** **1.2 <a…...
原创作品——银行软件产品界面设计
蓝蓝设计团队服务金融类应用界面设计,以沉稳的色调和简洁的线条营造出专业可靠的氛围。特点在于融入了创新的元素增添界面的活力与现代感。细节处理上,注意数据的视觉呈现效果,采用定制化的图表和清晰的排版,确保用户能够快速理解…...
若依RuoYi-Vue 定时任务 速学
1.若依定时任务模块(ruoyi-quartz) 那么从一个简单的入门示例开始,掌握定时任务的使用吧! 2. 入门示例(学会制作一个简单定时任务) 首先打开定时任务模块中的task包,这里已经有一个已经写好的R…...
【pytest学习】pytest.main()
基本用法## pytest.main()函数是用于启动测试运行的入口点。它可以在命令行中直接使用,也可以在脚本中以编程方式调用。 以下是一个简单的示例: import pytest if __name__"__main__":pytest.main()执行当前目录下的所有测试文件 使用pytes…...
设计模式: Pimpl(Pointer to Implementation)
这种设计模式通常被称为 Pimpl(Pointer to Implementation)惯用法,有时也被称为 Cheshire Cat 惯用法。它主要用于隐藏实现细节和减少编译依赖。 例子: DatabaseConnection.h #ifndef DATABASE_CONNECTION_H #define DATABASE_…...
android开发中文网站 android developer
Android 平台 | Platform | Android Developers 在此做个记录...
实习冲刺Day1
算法题 20. 有效的括号 - 力扣(LeetCode) 这个题我们采用stack栈的方式来进行相应的括号匹配 情况有以下几种 当字符串s中只有一个字符的时候,那这个时候字符串一定是不匹配的所以直接返回false当字符串为发生标准匹配的时候,…...
安全见闻(5)——开阔眼界,不做井底之蛙
安全见闻五:人工智能 内容预览 ≧∀≦ゞ 安全见闻五:人工智能声明导语一、人工智能基础机器学习基础机器学习的典型工作流程1. 数据收集2. 数据预处理3. 模型选择与训练4. 模型评估与优化5. 模型应用 深度学习基础深度学习基本原理1. 神经网络基础2. 多层…...
Navicat 安装
Navicat 安装步骤...
解读 Java 经典巨著《Effective Java》90条编程法则,第2条:遇到多个构造器参数时要考虑使用构建器
《Effective Java》是由 Joshua Bloch 撰写的经典书籍,提供了 Java 编程中的最佳实践和建议。在书中的第2条建议“遇到多个构造器参数时要考虑使用构建器”,主要是为了处理构造器参数过多时的设计问题。这条建议的主要目的是简化构造器的使用,…...
拉丁美洲有望成为全球电商的新蓝海!
拉美市场,被行业普遍认为“可能是中国跨境电商的最后一个蓝海市场”。越来越多的中国跨境电商卖家开始关注拉美市场,并且持续为拉美消费者提供更为优质的“中国制造”。 为什么大家会这么认为呢?原因可能有以下几个方面: 第一、拉…...
VScode远程开发之remote 远程开发(二)
VScode远程开发之remote 远程开发(二) 使用vscode进行远程开发很简单,在拓展里搜索 Remote Development,就可以搜索到微软提供的远程开发大礼包,里面包含了 通过 SSH 远程服务器 远程容器 远程 WSL(Win…...
基于Python+SQL Server2008实现(GUI)快递管理系统
快递业务管理系统的设计与实现 摘要: 着网络新零售的到来,传统物流在网购的洗礼下迅速蜕变,在这场以互联网为基础的时代变革中,哪家企业能率先转变其工作模式就能最先分得一杯羹,物流管理也不例外。传统的物流管理模式效率低下&a…...
png格式图片怎么改成jpg?超好用的8种转换方法介绍!
png格式图片怎么改成jpg?PNG作为一种普遍存在的图片格式,在我们的日常生活中无处不在,从社交媒体分享到工作文档插图,都少不了它的身影,PNG格式的确拥有诸多优点,如无损压缩保留图像的所有细节与高质量&…...
Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目
Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目 1.JRbel服务安装2.JRbel插件安装3.JRbel配置 1.JRbel服务安装 直接装插件的话,需要用到一个服务地址,服务下载链接:(现在没时间搞,会尽快加上)…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
