springMVC @Autowired 2


@Autowired 默认是按照byType进行注入的,但是当byType方式找到了多个符合的bean,又是怎么处理的?


经过一些代码的测试,我发现,Autowired默认先按byType,如果发现找到多个bean,则,又按照byName方式比对,如果还有多个,则报出异常。

例子:

@Autowired
private ExamUserMapper examUserMapper;  - ExamUserMapper是一个接口


1. spring先找类型为ExamUserMapper的bean

2. 如果存在且唯一,则OK;

3. 如果不唯一,在结果集里,寻找name为examUserMapper的bean。因为bean的name有唯一性,所以,到这里应该能确定是否存在满足要求的bean了


@Autowired也可以手动指定按照byName方式注入,使用@Qualifier标签,例如:
@Autowired ()
 @Qualifier ( "baseDao" )

因为bean的

你可能感兴趣的:(springMVC @Autowired 2)