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;
}
相关推荐
Asthenia041219 分钟前
Spring 启动流程分析-含时序图
后端
ONE_Gua23 分钟前
chromium魔改——CDP(Chrome DevTools Protocol)检测01
前端·后端·爬虫
致心24 分钟前
记一次debian安装mariadb(带有迁移数据)
后端
未完结小说27 分钟前
RabbitMQ高级(一) - 生产者可靠性
后端
探索为何30 分钟前
JWT与Session的实战选择-杂谈(1)
后端·面试
咖啡教室31 分钟前
java日常开发笔记和开发问题记录
java
咖啡教室38 分钟前
java练习项目记录笔记
java
Asthenia04121 小时前
面试官让我介绍 Atomic 原子类有哪些?底层的实现机制是什么?
后端
Asthenia04121 小时前
魔法数字与常量在 Java 开发中的区别
后端
鱼樱前端1 小时前
maven的基础安装和使用--mac/window版本
java·后端