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

@Autowired和@Resource的区别

时间:2023-05-15 22:44:21浏览次数:41  
标签:Resource name 区别 Autowired 默认 名称 属性

@Autowired和@Resource的区别

一、相同点

@Resource的作用相当于@Autowired,均可标注在字段或属性的setter方法上。

二、不同点

(1)提供方:@Autowired是由org.springframework.beans.factory.annotation.Autowired提供,换句话说就是由Spring提供;@Resource是由javax.annotation.Resource提供,即J2EE提供,需要JDK1.6及以上。

(2)注入方式:@Autowired只按照byType 注入;@Resource默认按byName自动注入,也提供按照byType 注入;

(3)属性:@Autowired按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。如果我们想使用按名称装配,可以结合@Qualifier注解一起使用;@Resource有两个中重要的属性:name和type。name属性指定byName,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。需要注意的是,@Resource如果没有指定name属性,并且按照默认的名称仍然找不到依赖对象时, @Resource注解会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了。


参考:
https://www.cnblogs.com/cheari/articles/15035511.html

标签:Resource,name,区别,Autowired,默认,名称,属性
From: https://www.cnblogs.com/wusanga/p/17403376.html

相关文章

  • android.content.res.Resources$NotFoundException: String resource ID #0x4
    问题描述:android.content.res.Resources$NotFoundException:StringresourceID#0x4翻译为:android.content.res。资源$NotFoundException:字符串资源ID#0x4。原因:类型转换错误,请查看报错的地方和传过来(或是从接口获取的类型)的类型是否一致......
  • Java中getResourceAsStream的用法,读取jar里面的文件
    首先,Java中的getResourceAsStream有以下几种:1.Class.getResourceAsStream(Stringpath):path不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。2.Class.getClassLoader.getRe......
  • get getline读取一行时区别
    原因:getline读取到换行符时会返回并丢弃换行符,get不会丢弃,下次使用get时会第一个就读到换行符,马上返回。......
  • http1.0和2.0的区别
    1.新的二进制格式(BinaryFormat):HTTP1.x的解析是基于文本。(文本的表现形式有多样性,要考虑的场景很多才能做到健壮性)基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。2.HTTP2.0比HTTP1.0有路复用(MultiPlexing):即连接共享,即每一个request都是是用作连接共享机制的......
  • event 和 this 的区别
    event和this的区别事件对象event​ 定义:包含事件相关信息的对象;这个事件例有事件触发时的相关信息​ 用于记录:哪个标签触发了该事件、哟用户按下哪个键触发该事件、鼠标位置event.target指的是所记录的事件对象环境对象this​ 定义:环境对象指的是函数内部特殊的......
  • i7 13700和13700K的区别 i713700和i713700K差距
    i7-13700K为16核24线程,即8大核8小核,主频3.4GHz,睿频5.3GHz,30MB三级缓存。单核跑分2090分,多核跑分16542分。组装电脑选i713700还是13700K怎么搭配更合适这些点很重要http://www.adiannao.cn/duintel13代酷睿i713700K相比i713700最大的区别在于支持超频,拥有不锁......
  • 函数strncpy和memcpy的区别
    1定义1.1memcpyvoid*memcpy(void*destin,void*source,unsignedn);参数*destin----需要粘贴的新数据(地址)*source----要拷贝的数据(地址)unsignedn----拷贝数据的字节数1.2strncpchar*strncpy(char*destinin,c......
  • 【❂Java集合】循环链表和双向链表的区别是是什么
    最后一个结点指针指向不同在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是像双向链表那样置为NULL。此种情况还用于在最后一个结点后插入一个新的结点。判断链域值不同在判断是否到表尾时,是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到......
  • spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析
    AutoWiredAnnotationBeanPostProcessor执行依赖注入的时候(解析@Autowired)调用了postProcessProperties方法这个方法首先要找到哪些属性,方法被标注了@Autowired注解,把这些数据添加到InjectMetadata中,然后调用metadata.inject方法按类型进行依赖注入,注入时按类型进行查找按类......
  • n卡和a卡的主要区别
    n卡和a卡的区别1、GPU流处理器不同N卡的GPU中每个流处理器都具有完整的ALU功能,在发出一条操作指令时每个流处理器都能充分工作。A卡的GPU中每个流处理器的5个流处理单元都是固定的,不能拆开重组,每个流处理器只能处理一条4D指令。2、两者的设计侧重点不同N卡注重3D性能和速度,A......