【星淘商城part2】【dubbo服务调用测试】【zookeeper】

Dubbo服务调用测试报错解决
本文解决了一个关于Dubbo服务调用测试时出现的错误:由于mapper映射文件的名称空间不正确导致的问题。通过调整名称空间,解决了因逆向工程生成的代码在部署时遇到的依赖注入失败问题。

一.dubbo服务调用测试报错

        在看到服务调用测试这里的时候遇到了许多问题,其中一类报错如下:

Caused by: java.lang.IllegalArgumentException: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Wrong namespace. Expected 'com.taotao.mapper.TbContentCategoryMapper' but found 'com.taotao.com.taotao.mapper.TbContentCategoryMapper'.
	at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:100)
	at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
	... 21 more

       由逆向工程生成的代码原拷贝目录为“com.taotao.mapper”,该问题指出了这类代码中mapper映射文件的名称空间的错误。在第一次遇到该问题时,试着把原拷贝目录从“com.taotao.mapper”更改为了“mapper”,继而引发了bean注入失败的连锁问题。

       在解决bean注入失败的问题里往返几次后,最终认识到问题由本次更改目录引发,其实际原因是,逆向工程生成的代码的mapper类文件,本身的名称空间为“com.taotao.mapper.*”,在导入到工程中的拷贝目录为“com.taotao.mapper”后,mapper类的名称空间自动更新为了“com.taotao.com.taotao.mapper.*”,故正确的解决方案是:

        手动将mapper类文件的名称空间由“com.taotao.com.taotao.mapper.*”,删去前缀“com.taotao.”,变为“com.taotao.mapper.*”

  • 原错误位置截图如下:

  • 更改后截图如下:

需注意更改目录下所有mapper映射文件的名称空间。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值