dubbo分布式Service不可以创建Error creating bean with name 'XXXXXX'

2019-11-21 来源: jy_s 发布在  https://www.cnblogs.com/mCarrYoung/p/11903477.html

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.ylx.mapper.TbBrandMapper com.ylx.service.sellergoods.BranService.tbBrandMapper; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.ylx.mapper.TbBrandMapper] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

这个是错误信息:先说下解决的思路

  • 先检查的Service实现层dubbo有没有扫描此包

    • <dubbo:annotation package="包名" />
  • web.xml中的listener有没有监听到dao(mybatis生成的mapper(java文件))service(Service的实现类文件)的配置文件

  • 注意一些model生成的打包方式(一定要看清楚)

    在上面的这些配置我检查了无数次(包括和别人对照代码),还是出现这个错误,这个时候有点怀疑是不是这两个配置文件根本就没有加载。

    • dao的配置文件主要是设置数据库连接池的一些信息
    • service是设置向注册中心注册的设置(这两个配置文件都要加载),这两个文件我是在service实现类的web.xml中监听ContextLoaderListener初始化的。
  • 因为这个service一直不可以创建,所有可能是这个加载配置文件的web.xml文件没有加载到这两个配置文件。

    因为我一直感觉高版本的不靠谱,我就将4.0换成了2.5

    然后maven中重新clear install.

    运行程序,完美解决,**Service不能创建居然是web.xml版本问题

这个只是发生错误的一种解决方案,可能是其它的问题引起的这个错误,此文提供参考

相关文章