@Autowired与@Resource的区别

在Java代码中使用@Autowired或者@Resource 注解方式进行装配. 
区别: 
前者默认按类型装配,后者默认按名称装配。当找不到和名称匹配的bean才会按类型装配 
前者是按类型装配依赖对象,默认状况下它要求以来对象必须存在。若是容许null值。能够设置它required属性为false。若是想要使用按名称装配,能够结合@Qualifier一块儿使用 

@Resource注解和@Autowired同样,也能够标注在字段或属性的setter方法上。但它默认按名称装配,名称能够经过@Resource的那么属性指定。若是没有指定name属性,当该注解标注在字段上,即默认取字段的名称做为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性的名称寻找依赖对象 

注意:若是没有指定name属性,而且按照默认的名称仍然找不到依赖对象时,@Resourve注解会回退到按类型装配。但一旦指定了name属性,就只能按照名称装配了
 
文章转自: http://blog.csdn.net/sully2008/article/details/6833994
相关文章
相关标签/搜索