一、区别
1、来源不同
2、依赖查找顺序不同
3、支持参数不同
4、依赖注入用法不同
二、具体内容
1、来源不同
Resource由Java标准(JSR-250)提供,属于javax.annotation包,不依赖Spring框架,具有更高可移植性,适用于跨平台项目
AutoWired由Spring框架提供,属于org.springframework包,切换其他框架需修改代码
2、依赖查找顺序不同
Resource优先根据名称(byName)查询,查找不到,再根据类型(byType)查询
AutoWired优先根据类型(byType)查询,查找不到,再根据名称(byName)查询
3、支持参数不同
Resource支持7个参数,不支持Required设置(默认为true)

AutoWired支持1个参数

4、依赖注入用法不同
Autowired 既支持构造方法注入,又支持属性注入和 Setter 注入,而 Resource 只支持属性注入和 Setter 注入;