当前位置: 首页 > news >正文

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后&#xff0c;nacos的依赖包需要改成Spring Cloud的依赖包才能继续使用。升级好以后&#xff0c;首先&#xff0c;确定我的项目是能够连上nacos并且加载到配置信息的&#xff0c;因为数据库等信息都是从nacos加载过来&#xff0c;能够正…...

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)) // 获取的是两个时间相差的秒数&#xff0c;在此基础上除3600获…...

【深入理解Python中的闭包】如何有效使用嵌套函数和状态捕获!

深入理解Python中的闭包&#xff1a;如何有效使用嵌套函数和状态捕获 Python 作为一种动态的编程语言&#xff0c;允许我们用多种方式来设计和构建功能&#xff0c;其中之一就是 闭包&#xff08;Closure&#xff09;。闭包是一种强大的特性&#xff0c;可以帮助我们捕获和保持…...

npm配置阿里镜像库教程

为了配置npm使用阿里镜像库&#xff0c;可以按照以下步骤进行操作。这些步骤将帮助你加快包的下载速度&#xff0c;特别是在中国地区&#xff0c;因为阿里镜像库通常比官方npm仓库响应更快。 1. 配置全局镜像 可以通过运行以下命令来将npm的全局镜像配置为阿里镜像&#xff1…...

Apache JMeter压力测试工具使用

JMeter是Apache组织开发的基于Java的压力测试工具&#xff0c;用于对软件做压力测试。 01 软件下载 下载地址: https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2 用浏览器下载发现慢得很&#xff0c;用迅雷下载非常快哟。 02 测试使用 在使用前需要先安装jd…...

前端零基础入门到上班:【Day4】HTML 多媒体与表单深度教程

HTML 多媒体与表单深度教程 **1. HTML 多媒体基础&#xff1a;深入理解 <video> 和 <audio> 标签****1.1 <video> 标签&#xff1a;详细剖析与用法****1.1.1 基础结构与属性详解****1.1.2 视频格式的兼容性与示例****1.1.3 视频控制的实际应用** **1.2 <a…...

原创作品——银行软件产品界面设计

蓝蓝设计团队服务金融类应用界面设计&#xff0c;以沉稳的色调和简洁的线条营造出专业可靠的氛围。特点在于融入了创新的元素增添界面的活力与现代感。细节处理上&#xff0c;注意数据的视觉呈现效果&#xff0c;采用定制化的图表和清晰的排版&#xff0c;确保用户能够快速理解…...

若依RuoYi-Vue 定时任务 速学

1.若依定时任务模块&#xff08;ruoyi-quartz&#xff09; 那么从一个简单的入门示例开始&#xff0c;掌握定时任务的使用吧&#xff01; 2. 入门示例&#xff08;学会制作一个简单定时任务&#xff09; 首先打开定时任务模块中的task包&#xff0c;这里已经有一个已经写好的R…...

【pytest学习】pytest.main()

基本用法## pytest.main()函数是用于启动测试运行的入口点。它可以在命令行中直接使用&#xff0c;也可以在脚本中以编程方式调用。 以下是一个简单的示例&#xff1a; import pytest if __name__"__main__":pytest.main()执行当前目录下的所有测试文件 使用pytes…...

设计模式: Pimpl(Pointer to Implementation)

这种设计模式通常被称为 Pimpl&#xff08;Pointer to Implementation&#xff09;惯用法&#xff0c;有时也被称为 Cheshire Cat 惯用法。它主要用于隐藏实现细节和减少编译依赖。 例子&#xff1a; DatabaseConnection.h #ifndef DATABASE_CONNECTION_H #define DATABASE_…...

android开发中文网站 android developer

Android 平台 | Platform | Android Developers 在此做个记录...

实习冲刺Day1

算法题 20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 这个题我们采用stack栈的方式来进行相应的括号匹配 情况有以下几种 当字符串s中只有一个字符的时候&#xff0c;那这个时候字符串一定是不匹配的所以直接返回false当字符串为发生标准匹配的时候&#xff0c;…...

安全见闻(5)——开阔眼界,不做井底之蛙

安全见闻五&#xff1a;人工智能 内容预览 ≧∀≦ゞ 安全见闻五&#xff1a;人工智能声明导语一、人工智能基础机器学习基础机器学习的典型工作流程1. 数据收集2. 数据预处理3. 模型选择与训练4. 模型评估与优化5. 模型应用 深度学习基础深度学习基本原理1. 神经网络基础2. 多层…...

Navicat 安装

Navicat 安装步骤...

解读 Java 经典巨著《Effective Java》90条编程法则,第2条:遇到多个构造器参数时要考虑使用构建器

《Effective Java》是由 Joshua Bloch 撰写的经典书籍&#xff0c;提供了 Java 编程中的最佳实践和建议。在书中的第2条建议“遇到多个构造器参数时要考虑使用构建器”&#xff0c;主要是为了处理构造器参数过多时的设计问题。这条建议的主要目的是简化构造器的使用&#xff0c…...

拉丁美洲有望成为全球电商的新蓝海!

拉美市场&#xff0c;被行业普遍认为“可能是中国跨境电商的最后一个蓝海市场”。越来越多的中国跨境电商卖家开始关注拉美市场&#xff0c;并且持续为拉美消费者提供更为优质的“中国制造”。 为什么大家会这么认为呢&#xff1f;原因可能有以下几个方面&#xff1a; 第一、拉…...

VScode远程开发之remote 远程开发(二)

VScode远程开发之remote 远程开发&#xff08;二&#xff09; 使用vscode进行远程开发很简单&#xff0c;在拓展里搜索 Remote Development&#xff0c;就可以搜索到微软提供的远程开发大礼包&#xff0c;里面包含了 通过 SSH 远程服务器 远程容器 远程 WSL&#xff08;Win…...

基于Python+SQL Server2008实现(GUI)快递管理系统

快递业务管理系统的设计与实现 摘要: 着网络新零售的到来&#xff0c;传统物流在网购的洗礼下迅速蜕变&#xff0c;在这场以互联网为基础的时代变革中&#xff0c;哪家企业能率先转变其工作模式就能最先分得一杯羹&#xff0c;物流管理也不例外。传统的物流管理模式效率低下&a…...

png格式图片怎么改成jpg?超好用的8种转换方法介绍!

png格式图片怎么改成jpg&#xff1f;PNG作为一种普遍存在的图片格式&#xff0c;在我们的日常生活中无处不在&#xff0c;从社交媒体分享到工作文档插图&#xff0c;都少不了它的身影&#xff0c;PNG格式的确拥有诸多优点&#xff0c;如无损压缩保留图像的所有细节与高质量&…...

Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目

Idea基于JRbel实现项目热部署修改Java、Xml文件无需重启项目 1.JRbel服务安装2.JRbel插件安装3.JRbel配置 1.JRbel服务安装 直接装插件的话&#xff0c;需要用到一个服务地址&#xff0c;服务下载链接&#xff1a;&#xff08;现在没时间搞&#xff0c;会尽快加上&#xff09;…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...