Spring注解 @Autowired和@Resource的区别
1.共同点
两者都可以作用在字段和setter方法上。
两者如果都作用在字段上,可以不需要再写setter方法。
2.不同点
@Autowired 按照类型 byType装配依赖对象,默认要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false。
如果我们想使用按照名称byName来装配,可以结合@Qualifier注解一起使用。
@Resouce 默认按照byName自动注入,有两个属性name和type,Spring将@Resouce注解的name属性解析为bean的名字,type属性解析为bean的类型。
如果既不指定name属性也不指定type属性,这时通过反射机制使用byName自动注入策略。