@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 可识别
相关推荐
青山木14 分钟前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划
朝朝辞暮i14 分钟前
C++ 第 26 课:对象、指针与 ->
java·开发语言·c++
长弓三石18 分钟前
把 AgentScope Harness 装进 RuoYi-Vue-Plus:纯 Java AI 平台的集成实践
java·人工智能·agent
蜗牛互联网20 分钟前
MongoDB Atlas Agent Engine之后,如何用版本门禁防止陈旧写入
java·数据库·人工智能·后端·mongodb
长弓三石21 分钟前
企业级智能体的权限到底怎么落地?以 BizBuddy 为例
java·人工智能·agent
用户42702767268130 分钟前
一次缓存优化:SQL 从 502 降到 5
java
小师兄吃牛肉1 小时前
C语言指针进阶全解析
java·c语言·算法
Joy T1 小时前
聊天系统中五大ID的演进与实战解析
java·前端·人工智能·spring·agent入门
JAVA面经实录9171 小时前
线上故障标准处理流程【完整版|面试背诵+生产落地】
java·面试·职场和发展
殷色玫瑰1 小时前
C++入门基础复习:从命名空间到引用与nullptr,一篇重新捡回C++基础
java·开发语言·c++