当你有两个带有注解的类,同时实现同一个接口的时候,spring 根据类型无法选择到底注入哪一个,这个时候,你就需要加上@Primary注解来作为唯一标识。最常见的情况是你需要重写父类的方法,但是父类已经注入了bean,如果此时你重写父类的方法,就会发生你和父类的bean重合,无法区分而报错:
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'cn.xxxx.vendor.service.pack.SuperBatchPackageDaoService' available: expected single matching bean but found 2: xxxSuperBatchPackageDaoServiceImpl,superBatchPackageDaoServiceImpl