@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 可识别
相关推荐
Flynn Liang1 分钟前
Spring AI ChatClient 详解:system/user/assistant 角色、call 与 stream 到底怎么选
java·人工智能·spring·springai·流式输出·chatclient·java接入大模型
Wang's Blog3 分钟前
Java 项目实战: 交友项目 - 喜欢与取消喜欢
java·开发语言·交友
萧瑟余晖4 分钟前
Spring Data Redis详解
spring·面试
摸鱼仙人~15 分钟前
校招帮简历字段匹配架构分析报告
java·前端·架构
钛生智能18 分钟前
OA 流程定制全参数详解(七):流程的生命周期——启用、停用、导出、导入
java·办公自动化·oa·协同办公·oa办公系统
悟道书生28 分钟前
若依 RBAC 权限控制学习笔记
java·网络·笔记·sql·学习·vue
景熙552331 分钟前
2.什么是业务后台系统
java·spring·tomcat·mybatis·jdbc
古法老登瞎折腾1 小时前
大数据智能运维实战(八):从调度任务追到计算引擎——补齐排查链路
java·大数据·运维·spring ai·mcp
砚底藏山河1 小时前
python量化:实时行情WebSocket断线重连状态机
java·python·websocket·金融