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;
}
相关推荐
v***91301 天前
Spring boot创建时常用的依赖
java·spring boot·后端
代码or搬砖1 天前
MyBatisPlus讲解(二)
java·mybatis
Cosolar1 天前
银河麒麟 / aarch64 系统:Docker + Docker Compose 完整安装教程
后端·程序员·架构
星释1 天前
Rust 练习册 100:音乐音阶生成器
开发语言·后端·rust
kaliarch1 天前
2025年IaC生态全景与实践指南:从工具选型到多云治理
后端·云计算·自动化运维
lcu1111 天前
Java 学习42:抽象
java
Mr.朱鹏1 天前
RocketMQ安装与部署指南
java·数据库·spring·oracle·maven·rocketmq·seata
雨中飘荡的记忆1 天前
Spring表达式详解:SpEL从入门到实战
java·spring
Coder-coco1 天前
个人健康管理|基于springboot+vue+个人健康管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·mysql·论文
b***65321 天前
springboot整合mybatis-plus(保姆教学) 及搭建项目
spring boot·后端·mybatis