首页 > 其他分享 >@Autowired和@Resource区别

@Autowired和@Resource区别

时间:2022-11-22 14:34:04浏览次数:63  
标签:Resource name 区别 Autowired byName 查找 会先

autowired和resource是什么?

  • @Autowired是Spring中的注解
import org.springframework.beans.factory.annotation.Autowired;
  • @Resource是java提供的注解
import javax.annotation.Resource;

都可以自动装配

两者区别

@Autowired会先按byType去找,如果没找到,则会按照byName去找
@Resource会先按byName去找,如果没找到则会byType去找。如果设置了name属性,则只会按byName去找,找不到就报错。

@Resource(name = "studentServiceImpl")
private PersonService personService;

什么时候用Autowired、Resource

  • Autowired

效率低下,先按类型查找,再按名字查找

  • Resource

按名字查找,后面要跟参数name,好处:当有多个Impl实现类时,可以通name快速找到

  • 总结

当只有一个Impl实类的时候,随便用哪个都差不多,>=2的时候,最好用@Resource,比@Autowired@Qualifier()效率高

标签:Resource,name,区别,Autowired,byName,查找,会先
From: https://www.cnblogs.com/fuqian/p/16915024.html

相关文章

  • v-if和v-show区别
    v-if和v-show的区别v-if1、v-if是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。2、v-if也是惰性的:如果在初始渲染时条......
  • java中 implement和extends的作用和区别详细解释
    一、extends是继承类,implements是实现接口。类只能继承一个,接口可以实现多个。extends继承父类的时候可以重写父类的方法,也可以调用父类的非私有方法;implements实现接口......
  • 前端 堆、栈 概念和区别
    1.概念栈:先进后出,由操作系统自动分配释放,存放函数的参数值、局部变量值等。其操作方式类似于数据结构中的栈;是一种运算受限的线性表;堆:先进先出,动态分配的空间一......
  • React类式组件和函数式组件的区别
    React类式组件和函数式组件的区别有哪些呢?  主要要以下几个区别:(1)语法不同、设计思想不同(2)生命周期、状态变量(3)复用性:(4)优缺点一、语法不同、设计思想不同函数式组件......
  • ArrayList和LinkedList的区别和使用场景
    先看看接口关系1.ArrayList和LinkedList区别ArrayList是对象数组实现的,LinkedListed是基于双链表实现的。LinkedList的存储消耗较大,除了存储数据外还要有上下节点的......
  • Android错误之--Error retrieving parent for item: No resource found that matches
    改正错误(虽然内容较少,但是还是选择单独占用一篇)这个错误,可以说是困扰了我好久,然后就看到可以改变一下使用的Android版本,改成Android4.0,然后就去试了试,发现真的就好了耶!......
  • MySQL_连接时where和and的区别
    内连接是从结果表中删除与其他被连接表中没有匹配行的所有行,on和where的效果一致 左外连接(on先执行,where后执行)and条件是在生成临时表时使用的条件,它不管on中的条件是......
  • 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    什么是开源许可证?(“OpenSourceLicense”) 首先需要明确的是,开源软件源代码的著作权既没有被放弃也没有过期,其修改和发行等仍然要受到著作权法或者开源软件许可证的制......
  • Flexbox 与 CSS Grid 两者之间有什么区别,我们应该如何使用它们?
    英文| https://betterprogramming.pub/flexbox-vs-css-grid-3e9011ee2951翻译|杨小爱刚开始编程时,我只知道如何使用flexbox。所以很自然地,我只使用了flexbox。我从不......
  • matplotlib 中的 figure/ax/plt的区别
    知其然也要知其所以然matplotlibhasanextensivecodebasethatcanbedauntingtomanynewusers.However,mostofmatplotlibcanbeunderstoodwithafairly......