spring属性注入的不细心错误

属性注入问题

个人博客:www.zgtsky.top

同个的对象,在一个类中注入成功,在另一个类中注入为null

问题:在检测各个需要的类上已经打上注解后,出现了在一个类A1中注入B属性成功了,但在另一个类A2中注入B属性却失败了。

原因:A1和A2获取对象引用的方式不一样,A1是通过注解方式使用对象引用,A2是通过new方式使用对象引用。

举例

当我们使用A1类时,我们是通过注解导入的

java 复制代码
 @Resource
 private A1 a1;

void method(){

// 使用a1;

}

而在使用A2类时,却是用new的方式,这样就会导致A2中的属性B没有注入,原因就是这个new的A2不是Spring IOC容器管理的那个。所以,在使用A2时也是要进行属性注入的方式导入,而不是在一个方法中new一个。

错误的使用:

java 复制代码
void methed(){
  A2 a2 = new A2();//错误的
}

正确的使用:

java 复制代码
@Resource
A2 a2;

void method(){
  //使用a2;
}
相关推荐
Yicsr5 分钟前
在Visual Studio中编译.c文件和.cpp文件主要有哪些不同
java·c语言·visual studio
开心呆哥13 分钟前
【python翻译软件V1.0】
java·服务器·python
raoxiaoya22 分钟前
golang中的eval,goeval,govaluate
开发语言·后端·golang
CyberScriptor39 分钟前
PHP语言的软件工程
开发语言·后端·golang
TANGLONG2221 小时前
【C++】揭开C++类与对象的神秘面纱(首卷)(类的基础操作详解、实例化艺术及this指针的深究)
java·开发语言·数据结构·c++·python·考研·面试
GGBondlctrl1 小时前
【SpringAOP】Spring AOP 底层逻辑:切点表达式与原理简明阐述
java·后端·代理模式·spring aop·切点表达式
代码驿站5201 小时前
Scala语言的软件开发工具
开发语言·后端·golang
学习中的程序媛~1 小时前
利用AI大模型和Mermaid生成流程图
java·python
wlyang6661 小时前
2. Scala 高阶语法之集合与元组
开发语言·后端·scala
喜欢猪猪1 小时前
大厂架构之极致缓存策略实战与原理剖析
java·后端·spring