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

【Java】SpringCloud中使用set方法报错空指针

前言:今天在交流群中看见了一个空指针报错,想着哪里为空点过去看看为什么赋不上值就行,没想到啪啪打脸了,今天总结一下。

以下是他的RedisTempate注入和方法

可以看到,89行报错空指针。先分析一下,

①赋值没赋上吗?不对,因为84行已将将responseBodyString的值打印在控制台了,是有值的。

②那只能是redisTemlate这个方法有问题了,set赋值赋不进去。为什么呢? 

群里大佬说:“spring 注入static 对象会是个Null对象(根据name或者type实例化失败)”。

原来如此! 往上划看图一,他是这样注入的:

@Resource

private static RedisTempalte<String,Object> redisTemplate;

因为不知道spring注入static对象会是空对象,所以没考虑到这个方面。

总结:

        我们在使用注解注入set方法时,不可以加static,因为静态变量和类变量不是对象的属性,而是一个类的属性,静态方法是属于类的;而普通方法才是属于实体的对象,即new出来的对象。

参考:文章 

补充:

除了通过注解注入,我们也可以通过构造方法注入

package com.medical.member.test;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;/*** @author: 宁兴星* Date: 2024/9/10 20:18* Description:*/
@Controller
public class TestController {private final RedisTemplate<String, Object> redisTemplate; // 移除了 static 关键字// 构造函数注入@Autowiredpublic TestController(RedisTemplate<String, Object> redisTemplate) {this.redisTemplate = redisTemplate; // 将 redisTemplate 赋值给实例变量}@GetMapping("test/method")public void test() {redisTemplate.opsForValue().set("test", "这是我的测试数据");}
}

 

相关文章:

【Java】SpringCloud中使用set方法报错空指针

前言&#xff1a;今天在交流群中看见了一个空指针报错&#xff0c;想着哪里为空点过去看看为什么赋不上值就行&#xff0c;没想到啪啪打脸了&#xff0c;今天总结一下。 以下是他的RedisTempate注入和方法 可以看到&#xff0c;89行报错空指针。先分析一下&#xff0c; ①赋值…...

芯片杂谈 -- 常聊的内核包含哪些模块

目录 1. R52内核速览 2. 处理器模块详解 3.内核的功能安全测什么&#xff1f; 4.小结 最开始接触到汽车MCU大都来自NXP、Infineon、Renesas&#xff0c;例如MPC5748、TC275、RH850 P1X等等&#xff1b; 而各大OEM、供应商等等发布的JD通常都会要求熟悉AURIX、PowerPC、G3K…...

运维问题0002:SAP多模块问题-SAP系统程序在执行时,跳出“加急快件”窗口,提示:快件文档“更新已终止”从作者***收到

1、问题描述 近期收到2起业务报障&#xff0c;均反馈在SAP执行程序时&#xff0c;弹出“加急快件”窗口&#xff0c;导致操作的业务实际没有更新完成。 1&#xff09;业务场景一&#xff1a;设备管理部门在操作事务代码&#xff1a;AS02进行资产信息变更时&#xff0c;保存正常…...

深度解析RAG:你必须要了解的RAG优化方法

RAG&#xff08;Retrieval-Augmented Generation&#xff09;是一种结合检索和生成能力的技术框架&#xff0c;旨在通过从外部知识库中检索相关信息来增强生成模型的输出。其基本思想是利用大型语言模型&#xff08;LLM&#xff09;的生成能力&#xff0c;同时通过检索机制获取…...

深度学习驱动下的字符识别:挑战与创新

一、引言 1.1 研究背景 深度学习在字符识别领域具有至关重要的地位。随着信息技术的飞速发展&#xff0c;对字符识别的准确性和效率要求越来越高。字符识别作为计算机视觉领域的一个重要研究方向&#xff0c;其主要目的是将各种形式的字符转换成计算机可识别的文本信息。近年…...

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…...

若依项目后台启动报错: [网关异常处理]、503

拉取代码启动项目&#xff0c;网关控制台报错&#xff1a; 21:31:59.981 [boundedElastic-7] WARN o.s.c.l.c.RoundRobinLoadBalancer - [getInstanceResponse,98] - No servers available for service: ruoyi-system 21:31:59.981 [boundedElastic-7] ERROR c.r.g.h.Gateway…...

【C++ Qt day10】

2、 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&am…...

GO HTTP库使用

Go的 net/http 包是一个强大且易于使用的库&#xff0c;用于构建HTTP服务器和客户端。通过它&#xff0c;你可以轻松实现HTTP请求的处理、路由、静态文件服务等功能。下面重点以及一个简单的Demo示例。 文章目录 1. **基础HTTP服务器**2. **处理请求与响应**3. **路由与处理器*…...

数据结构 - 顺序表

0.线性表 1.定义 线性表就是零个或多个相同数据元素的有限序列。 2.线性表的存储结构 ①.顺序结构 ②.链式结构 3.线性表的表示方法 例如&#xff1a; 一.线性表的基本运算 二.线性表的复杂运算 1.线性表的合并运算 2.线性表的去重运算 三.顺序表 1.定义 顺序表&#xff0c;就…...

企业如何组建安全稳定的跨国通信网络?

组建一个安全稳定的跨国通信网络对于现代企业来说至关重要&#xff0c;尤其是当企业在全球范围内运营时。以下是一些关键步骤和考虑因素&#xff1a; 需求分析&#xff1a; 确定企业的具体通信需求&#xff0c;包括带宽要求、延迟敏感度、数据类型&#xff08;如语音、视频、文…...

OCR在线识别网站现已上线!

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 由作者亲自开发的ocr识别网站哈哈,暂时汇聚了三十多种验证码模型以及算法,欢迎各路朋友去尝试,网站地址如下 http://gbj5w3.natappfree.cc/ocr 验证码类型包括但…...

排名再升2位 中国平安位列BrandZ最具价值中国品牌第9位

9月10日&#xff0c;凯度华通明略发布“2024年BrandZ最具价值中国品牌”榜单&#xff0c;中国平安位列榜单第9位&#xff0c;较2023年榜单排名上升2位&#xff0c;品牌价值韧性增长至205.14亿美元&#xff0c;十度蝉联中国保险行业品牌价值第一位。榜单特别提到&#xff0c;中国…...

k8s集群部署:环境准备

本教程基于centos9 arm架构展开。 1. 设置主机名 为每个节点设置主机别名&#xff0c;以便于集群中的角色识别&#xff1a; # 设置主节点的主机名为 kmaster sudo hostnamectl set-hostname kmaster --static# 设置工作节点1的主机名为 kworker1 sudo hostnamectl set-hostn…...

<C++> set、map模拟实现

目录 一、适配器红黑树 二、红黑树再设计 1. 重新设计 RBTree 的模板参数 2. 仿函数模板参数 3. 正向迭代器 构造 operator*() operator->() operator!() operator() operator--() 正向迭代器代码 4. 反向迭代器 构造 operator* operator-> operator operator-- operat…...

软考学习 数据结构 查找

1. 顺序查找&#xff08;Sequential Search&#xff09; 基本原理&#xff1a; 顺序查找是一种最简单、最直观的查找算法。它从数据集合的第一个元素开始&#xff0c;依次与目标元素进行比较&#xff0c;直到找到目标元素或遍历完所有元素为止。 适用条件&#xff1a; 适用…...

h264 视频流中添加目标检测的位置、类型信息到SEI帧

在 H.264 视频编码中&#xff0c;SEI&#xff08;Supplemental Enhancement Information&#xff09;消息用于传输额外的、非编码的数据&#xff0c;例如目标检测的信息。SEI 数据可以嵌入到 H.264 流中&#xff0c;以在解码过程中传递这些附加信息。 一、步骤 确定 SEI 类型&…...

大模型api谁家更便宜

1 openai 可点此链接查询价格&#xff1a;https://openai.com/api/pricing/ 2 百度 可点此链接查询价格&#xff1a;https://console.bce.baidu.com/qianfan/chargemanage/list 需要注意&#xff0c;百度千帆平台上还提供其他家的模型调用服务&#xff0c; 如llama, yi-34b等…...

代码随想录算法训练营第二十三天| 455. 分发饼干、376. 摆动序列、53. 最大子序和

今日内容 贪心理论基础Leetcode. 455 分发饼干Leetcode. 376 摆动序列Leetcode. 53 最大子序和 贪心理论基础 贪心算法的本质就是选择每一阶段的最优&#xff0c;达到全局上的最优。 贪心算法和之前学到的所有方法相比&#xff0c;它没有固定的使用套路&#xff0c;也没有固…...

react js 路由 Router

完整的项目,我已经上传了 资料链接 起因, 目的: 路由, 这部分很难。 原因是, 多个组件,进行交互,复杂度比较高。 我看的视频教程 1. 初步使用 安装: npm install react-router-dom 修改 index.js/ 或是 main.js 把 App, 用 BrowserRouter 包裹起来 2. Navigate 点击…...

开源协作机器人的架构革命:OpenArm如何重构机器人研发范式

开源协作机器人的架构革命&#xff1a;OpenArm如何重构机器人研发范式 【免费下载链接】openarm OpenArm v0.1 项目地址: https://gitcode.com/GitHub_Trending/op/openarm 当传统工业机械臂的封闭生态成为技术创新的桎梏&#xff0c;当高昂的硬件成本将学术研究拒之门外…...

单细胞分群避坑指南:为什么你的CD4+T细胞总被污染?(含清洗技巧)

单细胞分群避坑指南&#xff1a;为什么你的CD4T细胞总被污染&#xff1f;&#xff08;含清洗技巧&#xff09; 在单细胞测序数据分析中&#xff0c;CD4T细胞的分群常常让研究者头疼不已。明明按照标准流程操作&#xff0c;为什么我的CD4T细胞群总是混入其他细胞&#xff1f;这…...

墨语灵犀在操作系统概念教学中的应用:交互式问答与示例生成

墨语灵犀在操作系统概念教学中的应用&#xff1a;交互式问答与示例生成 操作系统课程&#xff0c;对于很多计算机专业的学生来说&#xff0c;就像一座横亘在面前的高山。进程、线程、死锁、内存分页……这些抽象的概念&#xff0c;常常让初学者感到困惑和枯燥。传统的教学方式…...

SpringBoot+Vue物流管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择&#xff1a; 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...

告别DAC!用Arduino的PWM信号和双光耦,轻松驱动LM317实现4-20mA隔离输出

用Arduino PWM与双光耦打造高性价比4-20mA隔离输出方案 在工业自动化与物联网设备开发中&#xff0c;4-20mA电流环传输因其抗干扰能力强、传输距离远等优势&#xff0c;成为模拟信号传输的黄金标准。传统方案通常依赖昂贵的DAC芯片实现数字到模拟的转换&#xff0c;而本文将揭…...

SeqGPT-560M部署教程:Linux服务器环境配置+GPU驱动适配完整指南

SeqGPT-560M部署教程&#xff1a;Linux服务器环境配置GPU驱动适配完整指南 1. 项目概述 SeqGPT-560M是一个专门为企业级信息抽取需求设计的高性能AI系统。与常见的聊天模型不同&#xff0c;这个系统专注于从非结构化文本中精准提取关键信息&#xff0c;比如人名、公司名称、时…...

计算机毕业设计:懂车帝车质网汽车数据分析平台 Django框架 Scrapy爬虫 可视化 车辆 懂车帝大数据 数据分析 机器学习(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ > &#x1f345;想要获取完整文章或者源码&#xff0c;或者代做&#xff0c;拉到文章底部即可与…...

SAP事务代码中文描述变成了英文如何解决

背景是接到用户反馈&#xff0c;事务代码的中文描述突然变成了英文&#xff0c;我检查了用户的参数文件&#xff0c;登录语言是选择的ZH&#xff0c;经过检查发现是新主题权限角色批量维护的时候出现了问题。只需要将权限角色更改成修正即可。用户的菜单页面1、PFCG检查发现权限…...

实战演练:基于kimi与快马平台快速开发一个交互式销售数据可视化看板

今天想和大家分享一个实战项目&#xff1a;如何用Kimi和InsCode(快马)平台快速搭建一个销售数据可视化看板。整个过程比我预想的顺利很多&#xff0c;特别适合需要快速验证业务需求的场景。 项目背景与需求拆解 最近在帮朋友的小型电商团队优化运营流程&#xff0c;他们最头疼…...

Qwen3-1.7B效果展示:看这个1.7B参数模型如何生成高质量中文内容

Qwen3-1.7B效果展示&#xff1a;看这个1.7B参数模型如何生成高质量中文内容 1. 开篇惊艳&#xff1a;小模型的大能量 在AI大模型领域&#xff0c;参数规模往往与性能表现直接挂钩。但Qwen3-1.7B的出现打破了这一常规认知——这个仅有1.7B参数的轻量级模型&#xff0c;在中文内…...