三种方式的注解注入来自颜群老师的Spring进阶课程
- @Autowired是Spring提供的注入规范
- @Resource是Java提供的注入(JSR250提供)
- @Inject是Java提供的注入(JSR330提供)
- 区别:@Autowired默认是以类型进行注入,@Resource默认以名字进行注入,如果名字不匹配再进行类型注入,@Inject是以类型进行注入。
-
最常用的bean注入方式
-
基于扫描器 + 三层注解的形式
-
可以作用在:类前、三层组件修饰的类下的方法前、@Bean修饰的类下的入参前
-
以@Bean+返回值形式的@Autowired注入,原则上是可以不加@Autowired注解的,仅局限于:要注入的Bean中只有一个有参构造函数,如果多个则会失效(Construction注入)。



