首页 > 其他 > 详细

@autowired和@Resource的区别

时间:2018-08-14 20:49:47      阅读:173      评论:0      收藏:0      [点我收藏+]

相同点:

  二者都是用来自动装配bean的,都可以写在字段上或者写在setter方法上,如果写在字段上就可以不用谢setter上。@Resource并不是spring的注解,但是spring支持该注解导入。他是javax.annotation.Resource包下的,需要导入。

 

不同点:

  1、@Autowired注解为spring下的注解,默认使用bytype方式来注入字段。通过查找字段类型所匹配的bean来注入。如果允许null值,可以设置它的required属性为false如果我们想使用按照名称(byName)来装配,可以结合@Qualifier注解一起使用。(大多放在字段上,少放在setter上)

  

  2、@Resource注解默认使用byName注入,还有个参数是byType,可以两个参数都写,写了的话就找唯一的类型的唯一名字的字段;如果仅仅指定了名字,就找名字相符的,如果找到多个或者没找到就报错;如果仅仅指定了类型,就找类型相符的,如果找到多个或者没找到就报错;如果都没指定,自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。

@autowired和@Resource的区别

原文:https://www.cnblogs.com/television/p/9477463.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!