异常: 不是唯一的bean
原因: 使用@MpperScan接口扫描器,将service也扫入spring容器中, 然而在service实现类上已经贴了@Service 将这交个spring管理,在使用@Autowrite注入的时候,spring中有两个相同的bean就会,spring不知道该如何选择就会报错;
报错信息:
Description:
Field orderInfoService in cn.wolfcode.shop.message.GenerateOrderConsumer required a single bean, but 2 were found:
- IOrderInfoService: defined in file [D:\Master\shop-parents\shop-order-api\target\classes\cn\wolfcode\shop\service\IOrderInfoService.class]
- orderInfoServiceImpl: defined in file [D:\Master\shop-parents\shop-order-server\target\classes\cn\wolfcode\shop\service\impl\OrderInfoServiceImpl.class]
Action:Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed
解决方案: 将 @MapperScan(cn.shop.mapper) 扫描路径缩小,只扫描mapper包里面的接口