@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 可识别
相关推荐
企业数字化笔记9 分钟前
租户停用后数据和任务怎么处理?冻结、恢复与保留策略的实现
android·java·spring boot
CarIise15 分钟前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc
一条泥憨鱼28 分钟前
AI Agent 安全实践:从 MCP 工具调用到 Java 权限校验
java·人工智能·安全
Nebula_g34 分钟前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase
萧瑟余晖34 分钟前
Spring Security 6.x新特性与架构演进详解
java·spring·架构
\光辉岁月/40 分钟前
1.Object类
java·面向对象·object类
鸽鸽程序猿1 小时前
【项目】【在线判题系统】公共功能
java·spring boot·maven
一只笨菜鸟1 小时前
IDEA如何让多个项目同时显示
java·ide·intellij-idea
萧瑟余晖1 小时前
Spring Security架构总览与过滤器链详解
spring·架构
G018_star sky♬1 小时前
java中的字符串常见方法
java·开发语言