1、@Autowired默认情况下按照类型在spring容器中查找对应的组件 :context.getBean(XXX.class);
比如:
此时,如果容器中只有一个userservice的bean,那么就会根据UserService.class进行注入
2、如果容器中存在多个userservice的bean对象,那么就会根据属性的名称作为组件的id在容器中查找context.getBean("xxx");
此时就会根据userservice2进行查找bean
3、使⽤@Qualifier直接指定要⾃动装配的组件的id,⽽不是使⽤属性名:@Qualifier("xxx")
如果不想使用根据id查找,想要使用根据类型查找,那么我们就需要加上该注解
此时就会根据userService在容器中进行查找
⽆论⽤哪⼀种⽅式,必须保证容器中提供了可⾃动装配的组件,否则会报
NoSuchBeanDefinitionException异常。如果没有匹配的组件不想报异常,需要添加@Autowired
(required=false)