@Autowired
1.spring自带注解,通过AutowiredAnnotationBeanPostProcessor
类实现的依赖注入.
2.根据类型进行装配的,如果需要根据名称装配,需要配合 @Qualifier
.
3.属性required
设置为false时找不到相应的bean系统抛错.
4.可用在成员变量、setter方法、构造函数上.
5.@Qualifier
的标注对象是成员变量、方法入参、构造函数入参.
@Inject
1.是JSR330 (Dependency Injection for Java)中的规范,需要导入javax.inject.Inject;实现注入.
2.根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Named.
3.可以作用在变量、setter方法、构造函数上.
@Resource
1.是JSR250规范的实现,需要导入javax.annotation实现注入.
2.根据名称进行自动装配的,一般会指定一个name属性.
3.作用在变量、setter方法上.