@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 可识别
相关推荐
小小洋洋6 小时前
OpenWrt 从U盘迁移到内置 eMMC,并完成扩容与 Docker 安装
java·docker·eureka
就改了7 小时前
SpringBoot 自定义线程池 + 实时监控指标
java·spring boot·后端
plainGeekDev7 小时前
运行时获取依赖 → 编译时注入
android·java·kotlin
玖石书9 小时前
ASP.NET Core 迁移至 Spring系列:类库框架篇
java·后端·asp.net
笨蛋不要掉眼泪9 小时前
RabbitMQ消息队列:延迟消息
java·rabbitmq·java-rabbitmq
Adios7949 小时前
搜索二维矩阵 II
java·数据结构·算法
摇滚侠9 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 监控指标 Metrics 阅读笔记
java·spring boot·笔记
骇客野人9 小时前
IDEA 安装 Trae(TRAE AI: Coding Assistant)完整步骤
java·ide·intellij-idea
玖石书9 小时前
ASP.NET Core 迁移至 Spring系列:编译生态篇
后端·spring·asp.net
弹简特10 小时前
【Java项目-企悦抽】11-用户与认证模块-实现用户登录03(结束登录功能)-完成测试+对接前端+登录拦截器
java·开发语言