1.都是bean的注入时使用,写在字段上,或写在setter方法,在接口仅有单一实现类时,两个注解的修饰效果相同,可以互相替换,不影响使用。
2.@Autowired 属于Spring的注解 org.springframework.beans.factory.annotation.Autowired
默认按类型装配 依赖对象必须存在,如果要允许null值,可以设置它的required属性为false @Autowired(required=false)
也可以使用名称装配,配合@Qualifier注解
@Resource 不属于Spring的注解,JDK1.6支持的注解 javax.annotation.Resource
@Resource 默认按名称进行装配,通过name属性进行指定(例如:@Resource(name=""))或@Qualifier来确定一个合格的实现类
总结一下:@Autowired自动注解,
一个类,俩个实现类,Autowired就不知道注入哪一个实现类,可以使用@Qualifier或者在实现类中加一个
@Primary注解
而Resource有name属性,可以区分 ,也可以@Qualifier