@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 可识别
相关推荐
蓝田~4 分钟前
大模型本地部署与远程调用 — 从 API 到 Agent
java·人工智能·claude·claude code
码农进化录10 分钟前
Java 程序员的 AI 进化论 | Spring Boot 接入 OpenAI 的六个坑,全帮你踩了
java·spring boot·openai
疯狂成瘾者19 分钟前
Java 常见集合方法
java·windows·python
从此以后自律20 分钟前
ConcurrentHashMap 超详细详解
java
兰令水38 分钟前
hot100【acm版】【2026.7.14打卡-java版本】
java·数据结构·算法·leetcode·面试
thefool1122661 小时前
Java 数组是引用类型
java
cfm_29142 小时前
Spring监听器
java·spring boot·后端
SamDeepThinking2 小时前
Java面向对象在JVM里怎么实现
java·后端·面试
咸鱼翻身小阿橙3 小时前
多线程解析
java·开发语言