@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 可识别
相关推荐
gaozhiyong08134 分钟前
深度架构拆解:Gemini 3.1 Pro的核心技术突破与国内镜像站实测指南
java·开发语言·jvm·mysql
江不清丶4 分钟前
JVM内存区域深度剖析:从JDK8架构到生产级内存优化
java·jvm·架构
拾荒的小海螺8 分钟前
JAVA:Spring Boot3 集成 Spring AI + Ollama 本地模型
java·spring boot·spring
毕设源码-钟学长11 分钟前
【开题答辩全过程】以 课程答疑系统的设计与实现为例,包含答辩的问题和答案
java
庞轩px15 分钟前
Java基础概念四连问:==与equals、hashCode约定、接口vs抽象类、深拷贝vs浅拷贝
java·开发语言
MX_935916 分钟前
SpringMVC简介
java·后端·spring
电商API&Tina17 分钟前
主流跨境平台多站点 API 接入流程:淘宝天猫京东API接口
java·大数据·网络·数据库·人工智能·sql·json
断春风19 分钟前
RabbitMQ在Java中的应用与实践
java·rabbitmq·java-rabbitmq
搞技术的雪中飞20 分钟前
Java Lambda表达式实战讲解:从冗余到高效,解锁开发新姿势
java·开发语言·后端
Dylan的码园21 分钟前
maven入门与核心功能介绍
java·maven