@Autowired//默认按type注入;@Qualifier("dogService")//一般作为@Autowired()的修饰用;
@Resource(name="dogService")//默认按name注入,可以通过name和type属性进行选择性注入;一般@Autowired和@Qualifier一起用,@Resource单独用;
当然没有冲突的话@Autowired也可以单独用;
调试了一上午各种打断点就是搞不清为什么spring能在我不指定实现类的基础上,找到我调用实现类方法,最终发现我有一个接口实现类没有加@service注解,如果加上就会检测出语法错误;
解决方案:
1、用@Resource注解指名service名称;@Resource("接口实现类类名首字母小写")
2、用@Autowired 加@Qualifier("此处填");填接口实现类@service("ABC")注解里的值,根据service 名字首字母小写匹配