首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >@Autowired和@Resource

@Autowired和@Resource

作者头像
在水一方
发布2022-06-14 17:01:46
发布2022-06-14 17:01:46
6240
举报
文章被收录于专栏:在水一方在水一方

实际在用spring进行开发的时候,通常需要在Controller中来注入service,在service中来注入dao,这个过程往往会通过@Autowired注解来实现依赖注入,但同时,java ee中提供的@Resource注解也能实现注入,那么这两者之间的的区别究竟是什么呢?

@Autowired

默认从容器中获取接口的实现类,注入该属性,byType--根据类型注入,如果接口有多个实现类时按类型注入会报错,可以用Qualifier注解来指定

@Resource

从spring容器中获取接口的实现类,默认是根据名称来进行注入的,如果按名称找不到,则接着按照类型去找

Spring将@Resource注解的name属性解析为bean的名字,type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略

参考视频讲解

https://www.bilibili.com/video/BV19741117qR

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • @Autowired
  • @Resource
    • 参考视频讲解
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档