@Autowired注解获取对象为null

问题再现

在这里插入图片描述
兄弟们,看见了吗?这里我@Autowired进来的forkliftService 居然为null 且我SysForkliftServiceImpl上面是加了@Service注解的
在这里插入图片描述

分析原因

主要原因就是因为该类继承了一个第三方框架SimpleChannelInboundHandler,在执行的过程中,它是被人家框架内部创建实例然后去调用的,这就导致了可能在内部new过这个对象了,所以就导致了@Component对这个类根本不起作用。

解决办法

创建一个MyBeanUtil

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;@Component
public class MyBeanUtil implements ApplicationContextAware {protected static ApplicationContext applicationContext;@Overridepublic void setApplicationContext(ApplicationContext app) throws BeansException {if (applicationContext == null) {applicationContext = app;}}/*** 通过类的class从容器中手动获取对象*/public static <T> T getBean(Class<T> clazz) {return applicationContext.getBean(clazz);}
}

然后不用 @Autowired,改用我们的工具类

ISysForkliftService forkliftService = MyBeanUtil.getBean(ISysForkliftService.class);

在这里插入图片描述
这样就能获取到对象了,下课!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/233855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Zookeeper系列-1.初识Zoookeeper

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理、分布式技术原理&#x1f525;如果感觉博主的文章还不错的话&#xff…

直播间搭建设备

直播间搭建对设备的要求因直播类型和直播内容而异&#xff0c;但以下是一些常见的直播设备要求: 1.摄像头∶高清、稳定、画面流畅的摄像头是直播的必备设备。对于大部分直播来说&#xff0c;选择一个质量较好的网络摄像头或手机摄像头即可。但对于需要更高清晰度或专业级别的直…

【深度学习实验】图像处理(三):PIL——自定义图像数据增强操作(随机遮挡、擦除、线性混合)

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. PIL基础操作2. Cutout&#xff08;遮挡&#xff09;2.1 原理2.2 实现2.3 效果展示 3. Random Erasing&#xff08;随机擦除&#xff09;3.1 原理3.2 实现3.3 效果展示 4. Mixup&…

java开发之基于个微群聊二次开发

请求URL&#xff1a; http://域名地址/getGroupQrCode 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId是String登录实例标识chatRoomI…

C++设计模式——原型 (克隆)模式

一、什么是原型模式 Prototype模式说简单点&#xff0c;就是提供了一个clone, 通过已存在对象进行新对象创建。clone&#xff08;&#xff09;实现和具体的实现语言相关&#xff0c;在C中我们通过拷贝构造函数实现。 那为啥要写clone的接口来实现这个目的呢&#xff1f;直接使…

金融网站的技术 SEO:提示和最佳实践

如果你想提高排名&#xff0c;你必须提供高质量的材料&#xff0c;保持你的网站平稳运行&#xff0c;并吸引来自权威网站的联系。但是&#xff0c;作为金融服务供应商&#xff0c;您可能会期望网站访问者和搜索引擎进行更多审查。请记住&#xff0c;你是在要求人们把钱投入你身…

SpringCloudAlibaba之Nacos——详细讲解

目录 一、SpringCloudAlibaba简介 1. spring cloud alibaba 特点 2.springcloud 组件 二、环境搭建 1.构建项目并引入依赖 三、Nacos 1.什么是Nacos 2.安装Nacos 3.启动安装服务 4.访问nacos的web服务管理界面 四、开发服务注册到nacos 1.创建项目并引入依赖 2.配置注册地…

【JavaEE初阶】volatile 关键字、wait 和 notify

目录 一、volatile 关键字 1、volatile 能保证内存可见性 2、volatile 不保证原子性 二、wait 和 notify 1、wait()方法 2、notify()方法 3、notifyAll()方法 4、wait 和 sleep 的对比 一、volatile 关键字 1、volatile 能保证内存可见性 我们前面的线程安全文章中&…

Leetcode394. 字符串解码

Every day a Leetcode 题目来源&#xff1a;394. 字符串解码 解法1&#xff1a;栈 本题中可能出现括号嵌套的情况&#xff0c;比如 2[a2[bc]]&#xff0c;这种情况下我们可以先转化成 2[abcbc]&#xff0c;在转化成 abcbcabcbc。我们可以把字母、数字和括号看成是独立的 TO…

vs配置64位汇编

vs开发64位程序无法使用内联汇编&#xff0c;需要将汇编放到一个单独文件中编译链接。 步骤如下&#xff1a; 生成汇编代码。以asm.asm为例&#xff0c;以下是模板&#xff1a; ;64位汇编程序模板 (Template) ;声明一个ExitProcess函数 ExitProcess PROTO.data;在这里声明变量…

关于pyqt5与moviepy到打包的坑点

1,pyqt5 关于pyqt5 designer.exe 的使用主要就是了解pyqt5右侧菜单栏的功能使用 打包后的文件&#xff0c;需要继承改类&#xff0c;进行图形指令交互 关于pyqt5&#xff0c;要了解信号&#xff0c;和槽点的相互关系。 我在pyqt5中使用moviepy的时候&#xff0c;需要用到异步…

行测空间展开图类型题目通法

国考《行测》空间展开图类型题目通法 摘要 本文介绍一种判断哪一种立体图形可以由空间展开图组成的通用方法。 方法 1.将给定的展开图重构为容易识别的上边一个方块&#xff0c;下边一个方块&#xff0c;中间一个方块条的形式。 姑且称之为十字形吧。 之所以重构成这种形…