解决方法

查看管控台
查看注解
查看扫描包
查看发布服务
查看加载配置文件

查看管控台

Dubbo管控台,查找该服务
是否存在,服务状态是否正常

查看注解

@Service
服务类,要使用@Service注解,注入IOC容器
使用Spring的@Service注解,不要使用Dubbo的

import org.springframework.stereotype.Service;

这里写图片描述

查看扫描包

Spring配置文件
是否扫描到了该服务类
服务类,是否在扫描包下面

<!-- 配置包扫描器,扫描所有带@Service注解的类 -->
<context:component-scan base-package="com.taotao.service"/>

查看发布服务

Spring配置文件
Interface,暴露接口是否正确
Ref,服务名字是否正确

<!-- 发布dubbo服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="taotao-manager" />
<!-- 注册中心的地址 -->
<dubbo:registry protocol="zookeeper" address="192.168.25.167:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.taotao.service.ItemService" ref="itemServiceImpl" timeout="300"/>

查看加载配置文件

Web.xml里面
有没有加载Spring的配置文件

<!-- 初始化spring容器 -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐