异常描述

图片说明

严重: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'itemSearchController' defined in file 
[C:\codespace\pinyougou-parent\pinyougou-search-web\target\classes\com\pinyougou\search\controller\ItemSearchController.class]: Initialization of bean failed; nested exception is 
org.springframework.beans.factory.BeanInitializationException:
Failed to init remote service reference at filed itemSearchService in class com.pinyougou.search.controller.ItemSearchController; nested exception is java.lang.IllegalStateException: Failed to check the status of the service
com.pinyougou.search.service.ItemSearchService. No provider available for the service com.pinyougou.search.service.ItemSearchService from the url
zookeeper://192.168.25.135:2181/com.alibaba.dubbo.registry.RegistryService?application=pinyougou-search-web&dubbo=2.8.4&interface=com.pinyougou.search.service.ItemSearchService&methods=search&pid=8600&revision=0.0.5-SNAPSHOT&side=consumer&timestam
p=1565522609857 to the consumer 192.168.211.1 use dubbo version 2.8.4

异常原因

org.springframework.beans.factory.BeanCreationException: Error creating bean with name

此为注入异常,bean没有实例到spring容器中,查看spring配置,有没有扫到这个bean或配置这个bean

出现该异常一般为以下几点:

  • bean 没有添加注解 或者注解的包引入错误
  • xml文件中,配置文件里路径错误

解决方法

补全注解

@Component()
"对象的名称"相当于bean标签的id属性,如果类不属于javaEE三层架构中的任意一层
@Controller
一般用于表现层的注解。 作用和component

@Service
一般用于业务层的注解。 作用和component

@Repository
 一般用于持久层的注解。 作用和component


@Autowired
优先根据类型注入数据,如果有唯一的对象,那么就能成功注入.如果没有唯一的对象,那么就自动根据变量名和ioc容器对象的名称进行匹配,如果变量名称都无法对应上,那么就报错



@Reference
来自dubbo服务 注入的是分布式中的远程服务对象  

查看xml是否正确

    <dubbo:protocol name="dubbo" port="20884"/>

    <dubbo:application name="quasimodo-search-service"/>
    <dubbo:registry address="zookeeper://192.168.25.135:2181"/>
    <dubbo:annotation package="com.quasimodo.search.service.impl" />