@Autowired注解和@Resource注解的注入流程

@Autowired 注解和 @Resource 注解都可以用于在 Spring 容器中完成自动装配注入的功能,都可以使用在成员变量和setter方法上,但两者有一定不同。

@Autowired

1. 注入过程

Autowired 默认按照类型对属性进行注入。注入流程为:

@Autowired注解和@Resource注解的注入流程

2. 注入解释

通过上述注入流程,我们可以确定,@Autowired 注解基本是按照类型注入的,当存在多个满足条件的 Bean 时,会根据名称进行注入,可以通过结合 @Qualifier 注解和 @Primary 注解使用规定名称。但如果类型不匹配时,是无法注入的。

@Resource

1. 注入过程

@Autowired注解和@Resource注解的注入流程

2.注入解释

可以看到,@resource 注解主要是按照名称来进行注入的,如果名称匹配,即使在注解中加上type属性,也无法成功注入 type 类型的 Bean,只有当名称匹配失败时,才会回滚到按照类型注入的方式

上一篇:springboot maven resource资源文件打包配置


下一篇:@Resource、@Autowired等几个注解的区别