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;
}
相关推荐
程序员小凯1 小时前
Spring Boot缓存机制详解
spring boot·后端·缓存
wxweven1 小时前
校招面试官揭秘:我们到底在寻找什么样的技术人才?
java·面试·校招
i学长的猫2 小时前
Ruby on Rails 从0 开始入门到进阶到高级 - 10分钟速通版
后端·ruby on rails·ruby
陈陈爱java2 小时前
新知识点背诵
java
失散132 小时前
分布式专题——39 RocketMQ客户端编程模型
java·分布式·架构·rocketmq
泽02022 小时前
Linux之环境变量
java·linux·redis
用户21411832636022 小时前
别再为 Claude 付费!Codex + 免费模型 + cc-switch,多场景 AI 编程全搞定
后端
hello 早上好2 小时前
深入 Spring 依赖注入底层原理
数据库·sql·spring
茯苓gao2 小时前
Django网站开发记录(一)配置Mniconda,Python虚拟环境,配置Django
后端·python·django
Cherry Zack2 小时前
Django视图进阶:快捷函数、装饰器与请求响应
后端·python·django