为了账号安全,请及时绑定邮箱和手机立即绑定

@Autowired和@Resource的区别是什么?

@Autowired和@Resource的区别是什么?

慕田峪0738999 2018-03-05 09:33:29
public class GuestInfoService {    @Resource    public GuestInfoDao guestInfoDao;public class CivilAction{  @Autowired  private ICivilService civilService;
查看完整描述

2 回答

?
android开发学习视频

TA贡献4条经验 获得超3个赞

@Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。

@Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上,但它默认按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象。

@Resources按名字,是JDK的,@Autowired按类型,是Spring的

查看完整回答
反对 回复 2018-03-05
?
qq_絵空事_1

TA贡献1条经验 获得超0个赞

a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bean才会按照类型来装配注入;

b。@Autowired默认是按照类型装配注入的,如果想按照名称来转配注入,则需要结合@Qualifier一起使用;

c。@Resource注解是又J2EE提供,而@Autowired是由spring提供,故减少系统对spring的依赖建议使用@Resource的方式;


查看完整回答
反对 回复 2018-03-05
  • 2 回答
  • 0 关注
  • 1410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信