@Autowired默认按照byType进行注入
@Resource默认按照byName进行注入
原理:
@Autowired会按照bean的类型进行查找,如果一种类型的bean有好几个实现类,此时@Autowire就不知道找哪一个,就会报错,所以可以增加@Qualifie(“XXXX”)指定到底需要找哪一个,所以使用时需要将每个bean都加上名字,不然没名字还是找不到。
@Resource可以指定名字和类型进行查找bean,当名字和类型都不指定时,默认会按照名字查找bean,但是又没指定名字,所以默认为所写的字段名,重点在要是bean没名字,或者按照名字没找到bean,它不就找不到了么,但是此时它不会报错,而是回退,对进行回退名字找不到就再按照类型找,所以之后它就会按照类型进行查找。