一、问题:
项目使用 springboot ,页面模板集成了beetl模板,在编写Dao层时,一直报空指针异常,如图所示,
经过调试我们发现,同样的使用@Mapper注解的对象最后获取到时不一样的,很明显我们的项目虽然使用了beetl模板,但是我们并不想使用beetlsql,但是在这里为什么获取到了 beetlsql 的mapper信息呢。经过对比我们发现以Dao结尾的@Mapper对象都获取到了beetlsql对象, 于是将AeiDataDao 改为 AeiDataMapper 结果如下,我们可以正常访问到xml文件查询数据了
然后随便改成其他名称也是可以的
二、分析
很明显的结果,所以推测了以下,集成了beetl框架后,beetl对于@Mapper注解的 以Dao为结尾的对象进行了劫持, 因为自己没有使用beetlsql,对他的配置不是很了解,以后有时间研究一下