首先,@Resource注解是java自带注解,@Autowired注解来源于spring
1)@AutoWired 和 @Resource都可以添加在属性和set方法上
@AutoWired 可以添加在构造方法上
@Resource 不能添加在构造方法上
2)@AutoWired 默认根据类型匹配 (或者类型的子类匹配)
默认情况下,要求依赖的对象必须存在,如果要允许null值,
可以设置它的required属性为false, 如@Autowired(required=false)
如果想要根据id/name匹配,可以结合@Qualifier("id/name的值")来
指定id或者name
3)@Resource 可以根据id/name找,可以根据类型找,
也可以根据 @Resource(name="值")找 指定name
默认情况下, @Resource直接添加在属性上,将属性名作为name/id查找
@Resource直接添加在set方法上,将方法参数名作为name查找
此文希望可以帮助到大家。如有错误,请指教。
如果大家还有其他的情况或者好的解决方法,也望指教,感谢阅读
本文介绍了Java中@Resource和@Autowired注解的使用区别。@Autowired注解主要用于类型匹配,可应用于属性和set方法,但不能用于构造方法;而@Resource注解可按id/name或类型进行匹配,且能用于属性和set方法,不能用于构造方法。此外,@Autowired默认按类型匹配,@Resource则可按属性名或方法参数名作为id查找。
2049

被折叠的 条评论
为什么被折叠?



