@Autowired 与@Resource的区别

@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。

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

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

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

可参考:https://www.cnblogs.com/think-in-java/p/5474740.html

posted on 2020-12-22 17:11  麦克煎蛋  阅读(221)  评论(0编辑  收藏  举报