Spring new对象时注解失效

devtools/2024/9/24 5:50:09/

一、背景

今天在写代码时,有一个类:

public class StoreInfoTool{

@Resource

QAAssistantTool qaAssistantTool;

public void run(){

        qaAssistantTool.search(xx);

}

}

执行时报错,提示qaAssistantTool为空。

然后就发现很奇怪,qaAssistantTool为什么注入失败了,在专门测试QAAssistantTool的用例里面,qaAssistantTool明明是成功的。

接着查看StoreInfoTool的实例,是由new生成的,也就是说不是由spring管理的实例。

结论:Spring中new对象时注解失败。

二、原理剖析

参考:

https://www.cnblogs.com/xbq8080/p/spring.html

spring创建对象是在类加载时就已经通过spring容器创建成功了,用new关键字new出来的对象,jvm会重新分配对应的空间和指针。

这完全就不受spring管理,所以spring管理的任何其他的东西你就拿不到,也就会报NullPointerException错误,所以在此时一旦自行new,所有的相应主入即会失效,在使用时就产生了冲突。

注意,这里并不是说使用了注解以后就不能new,测试结果是:能实例化,并且相应的方法也是可以使用的。但是,实例化后相应Class相关的注入也就会集体失效,除非你所有步骤都用new的方式,否则它还是会报错。

至于正确的解决方案,使用了注解,就别使用new,二者不可兼得。


http://www.ppmy.cn/devtools/41044.html

相关文章

英伟达科学家展望:OpenAI或将引领AI多模态语音助手新时代

在人工智能领域,语音助手一直是人们关注的焦点。随着技术的不断发展,从简单的语音指令识别到复杂的对话系统,语音AI正逐渐融入我们的日常生活。今晚凌晨2点,OpenAI可能发布的AI多模态语音助手无疑将再次引发业界的热烈讨论。英伟达科学家KOL近日对此进行了深入解读,为我们…

Hbuild-X运行ios基座app

一、说明 ios真机第一次运行的时候需要下载插件,这个都是自动监测,自动下载的,不用多说。ios真机运行是需要签名的,不然就会报以下错误。如何制作免费的签名证书呢,需要借助爱思助手来完成。 二、安装爱思助手 &…

【经典文献】光声立体成像的对极几何

文献标题:《Epipolar Geometry of Opti-Acoustic Stereo Imaging》作者列表:Shahriar Negahdaripour发表期刊:IEEE Transactions on Pattern Analysis and Machine Intelligence发表年份:2007DOI链接:10.1109/TPAMI.20…

网络层相关协议

1.路由选择协议 路由选择协议可以分为内部网关协议和外部网关协议,RIP和OSPF协议属于内部网关协议,BGP属于外部网关协议。 1.1 路由信息协议RIP? RIP要求每一个路由器都要维护一个自己到其他网络的距离向量记录表,使用"跳…

户外公园实景儿童剧本杀小程序系统开发搭建

户外公园实景儿童剧本杀小程序系统开发搭建涉及到的内容包括但不限于以下几个方面: 1. 项目规划:需要考虑场地的大小、设施的配置、剧本的设定等,这些都是开发前的必要考虑因素。 2. 平台开发:基于小程序开发户外公园实景儿童剧本…

主机扫漏:Apache Tomcat 环境问题漏洞(CVE-2023-46589)

文章目录 引言I 修复此安全问题see also引言 Apache Tomcat存在环境问题漏洞,该漏洞源于存在不正确的输入验证漏洞,可能会导致将单个请求视为多个请求,从而在反向代理后面出现请求走私。 Tomcat did not correctly parse HTTP trailer headers. A specially crafted traile…

更适合户外使用的开放式耳机,佩戴舒适音质悦耳,虹觅HOLME NEO体验

随着气温的逐渐升高,不管是在室内工作娱乐,还是到户外运动健身,戴上一款合适的耳机都会帮我们隔绝燥热与烦闷,享受音乐与生活。现在市面上的耳机类型特别多,我很喜欢那种分体式的开放耳机,感觉这种耳机设计…

第十二届蓝桥杯省赛真题 Java A 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 相乘试题 B: 直线试题 C : \mathrm{C}: C: 货物摆放试题 D: 路径试题 E: 回路计数试题 F : \mathrm{F}: F: 最少砝码试题 G: 左孩子右兄弟试题 H : \mathrm{H}: H: 异或数列试题 I \mathbf{I} I 双向排序试题 J : \mathrm{J}: J: 分…