日常记录,记下来自己的遇到的问题

本文详细解析了一个SpringBoot结合Dubbo项目的运行错误,即java.lang.IllegalArgumentException:@ServiceinterfaceClass()orinterfaceName()orinterfaceclassmustbepresent!的问题。作者通过深入代码,发现@Service修饰的类未直接实现接口,而是父类实现接口导致Dubbo接口注入失败。文章提供了具体代码结构和解决方案。

2018-08-08

一个 spring boot 集合 dubbo 项目,在运行的时候报了这样子的一个错:

java.lang.IllegalArgumentException: @Service interfaceClass() or interfaceName() or interface class must be present!

我查找了很长时间,也没找到答案,最后只能自己查代码喽,发现这行代码的返回值为 null

Class<?>[] allInterfaces = annotatedServiceBeanClass.getInterfaces();

最后是因为代码中 @Service 修饰的类没直接继承接口,而是他的父类继承了接口,接着 dubbo 报错了,是因为 dubbo 进行接口注入的时候,必须直接实现接口

下面是具体的代码结构

//  接口
public interface IRedisService
//  实现接口的父类
public class BaseRedisServiceImpl implements IRedisService

 //  子类之前没后面的implement

 @Service(version="1.0", group="redis_jcaptcha")
 public class CaptchaRedisServiceImpl extends BaseRedisServiceImpl implements IRedisService

 

转载于:https://www.cnblogs.com/season1992/p/9443933.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值