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;
}
相关推荐
冼紫菜2 分钟前
Java开发中使用 RabbitMQ 入门到进阶详解(含注解方式、JSON配置)
java·spring boot·后端·rabbitmq·springcloud
Kakikori3 分钟前
JSP链接MySQL8.0(Eclipse+Tomcat9.0+MySQL8.0)
java·开发语言
boring_1118 分钟前
Apache Pulsar 消息、流、存储的融合
分布式·后端
Dr.92714 分钟前
1-10 目录树
java·数据结构·算法
亚林瓜子16 分钟前
AWS Elastic Beanstalk控制台部署Spring极简工程(LB版)
spring·云计算·aws·elb·beanstalk·alb·eb
冬日枝丫23 分钟前
【spring】spring学习系列之六:spring的启动流程(下)
java·学习·spring
圈圈编码31 分钟前
LeetCode Hot100刷题——轮转数组
java·算法·leetcode·职场和发展
〆、风神31 分钟前
面试真题 - 高并发场景下Nginx如何优化
java·nginx·面试
應呈36 分钟前
FreeRTOS的学习记录(任务创建,任务挂起)
java·linux·学习
钢铁男儿38 分钟前
C# 深入理解类(静态函数成员)
java·开发语言·c#