spring注解方式总结
注解中的@Component与@Resource与XML方式对比

对于@Component的名字问题和@Resource位置问题

"喜新厌旧"使用见名知意的注解

@Autowired即自动注入,那么它是以什么规则注入的呢?
这里我们先要知道@Autowired在注入时,默认的查找顺序

根据官方说法是先找名字(set方法后的名字),再找类型,最后找构造器
那么我们用一种特殊的方式来说明一下@Autowired怎么为自己类当中的属性自动注入值

这时我们看到UserDao接口下有两个实现类,根据规则@Autowired先找名字,此时UserDaoTest实现类中的@Repository正好叫userDao(大小写不敏感)所以@Autowired将UserDaoTest注入到属性上?
那么这时候要是UserDaoTest实现类中的@Repository没有名字会怎么样呢?答案是:会报错的,因为先根据名字找是找不到可以注入的类的,只能通过userdao接口下的实现类去查找注入,但这时有两个实现类(要是只有一个就不会报错了,直接注入了,没啥说的),它就不会知道选哪一个。
这时可以用上 @Qualifier注解了如下图

这样就可以准确注入了!!!
浙公网安备 33010602011771号