@Autowired 和 @Resource 的区别
区别
区别1:@Autowired 是spring提供的注解,@Resource 是JDK提供的注解
区别2:@Autowired 默认的注入方式是ByType(根据类型进行匹配),@Resource 默认的注入方式是 ByName (根据名称进行匹配)
区别3: 当一个接口存在多个实现类的情况下,@Autowired 和 @Resource都需要通过名称才能匹配到对应Bean。@Autowired可以通过@Qualifier来显示指定的名称,@Resource 可以通过name来显示指定名称
@Autowired
Autowired 属于 Spring 内置的注解,默认的注入方式为byType(根据类型进行匹配),也就是说会优先根据接口类型去匹配并注入 Bean (接口的实现类)。
@Resource
Resource属于 JDK 提供的注解,默认注入方式为 byName。如果无法通过名称匹配到对应的实现类的话,注入方式会变为byType。