dubbo+springboot 消费者调用提供者方法报错:required a bean of type “”xx.xx ” could not be found.

dubbo消费者调用服务提供者的服务 遇见两个错误:

1. 错误描述:

Description:

Field xxApiService in com.xx.xx.service.impl.xxServiceImpl required a bean of type 'com.xx.xx.api.xxSelcetBalanceApiService' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'com.xx.xx.online.api.IOnlineAccountSelcetBalanceApiService' in your configuration.

 

找了很久,有一种说法是 启动的时候 没有扫描到该service类,需要手动添加扫描。

解决方法

在启动类上添加:

@MapperScan("com.xx.app.service") 就是报错的service的包路径。

但是后来再次启动后发现没有用,仍然报错。

解决办法:1)在conf文件夹下添加app.xml文件。

dubbo+springboot 消费者调用提供者方法报错:required a bean of type “”xx.xx ” could not be found._第1张图片

2)app.xml文件就是import  spring.xml和spring-dubbo-consumer.xml文件。案例如下图所示:




    
    

3)在启动类上添加

@ImportResource(locations = {"classpath*:conf/app.xml"})

重新启动,OK,不报这个错了。

但.....又出现另外一个错:

2.错误描述

Description:

Field xService in com.x.app.controller.check.x.xontroller required a single bean, but 2 were found:
    - xServiceImpl: defined in file [E:\x\x\x-app\target\classes\com\x\app\service\impl\xServiceImpl.class]
    - xService: defined in file [E:\x\x\x\target\classes\com\mhsb\app\service\xService.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

 

对于这个错 我很奇怪,我哪里有两个bean。但是没办法,只能继续找...

解决方法:在报错的Service实现类上添加 @Primary

dubbo小白啊 ,刚用dubbo不到一个月,如果有问题欢迎指出,欢迎互相交流。

 

 


 

你可能感兴趣的:(dubbo)