@Autowired 和 @Resource 区别的补充说明与示例

参考

补充说明与总结

  • @Resource 有两个属性 name 和 type。
    • 可以指定特定的子类实现
  • @Autowired 没有属性指定。
    • 如果涉及到 type 无法辨别注入对象时,需要依赖 @Qualifier@Primary 注解来修饰
  • 但两者都可以通过 name 或 type 容错识别

示例

java 复制代码
    @Resource(name = "testImpl2")        // 只有一个实现类时,可以不设置 name 或 type
    // @Resource(type = TestImpl1.class)
    ITest obj;
    @Resource
    TestImpl1 testImpl; // type 可识别
    @Resource
    ITest testImpl2;    // name 可识别

    @Autowired
    @Qualifier("testImpl2")
    ITest obj;
    @Autowired
    TestImpl1 testImpl; // type 可识别
    @Autowired
    ITest testImpl2;    // name 可识别
相关推荐
玩具猴_wjh7 分钟前
JWT优化方案
java·服务器·数据库
坚持就完事了10 分钟前
Java各种命名规则
java·开发语言
白露与泡影13 分钟前
2026年Java面试题精选(涵盖所有Java核心面试知识点),立刻收藏
java·开发语言
星火开发设计38 分钟前
STL 容器:vector 动态数组的全面解析
java·开发语言·前端·c++·知识
小妖66640 分钟前
js 实现插入排序算法(希尔排序算法)
java·算法·排序算法
星火开发设计41 分钟前
标准模板库 STL:C++ 的利器 —— 容器、算法、迭代器
java·开发语言·数据结构·c++·算法·html
MX_935943 分钟前
Spring注解方式整合Mybatis
java·后端·spring·mybatis
wuqingshun3141591 小时前
谈谈你对泛型的理解
java·开发语言·jvm
重生之后端学习1 小时前
105. 从前序与中序遍历序列构造二叉树
java·数据结构·后端·算法·深度优先
前路不黑暗@1 小时前
Java项目:Java脚手架项目的地图的POJO
android·java·开发语言·spring boot·学习·spring cloud·maven