@Resource, @Autowired 和 @Inject注解进行依赖注入的差异

"@Autowired"和"@Inject"的报错信息完全相同,他们都是通过 "AutowiredAnnotationBeanPostProcessor" 类实现的依赖注入,二者具有可互换性。
"@Resource"通过"CommonAnnotationBeanPostProcessor"类实现依赖注入,即便如此他们在依赖注入时的表现还是极为相近的,以下是他们在实现依赖注入时执行顺序的概括:
@Autowired and @Inject 优先匹配顺序如下
1.根据类型 Matches by Type
2. Restricts by Qualifiers
3.根据名称 Matches by Name
@Resource 优先匹配顺序如下
1.根据名称 Matches by Name
2.根据类型 Matches by Type
3. Restricts by Qualifiers (ignored if match is found by name)