Java,spring boot整合fluent-mybatis,运行进行接口测试时,控制台出现“java.lang.RuntimeException: the class[com.education.fluent.entity.UserInfoEntity] is not a @FluentMybatis Entity or it's Mapper not defined as bean.”
首先,要检查各层(如controller,dao层等)的注解是否有问题
(1)我们需要了解到,使用fluent-mybatis是不需要xml文件的,而且dao层和entity层是fluent-mybatis自动生成的,如下图所示,同时mapper层也是自动生成的(在target里面,无需建立)。
(2)dao层的impl文件的类里面需要到的注解@Repository(具体情况根据自己项目来),实体类和接口是自动生成,没有什么注解需要添加的(接口里面可以根据场景来增加自定义方法)。
其次,检查自己写的controller、impl有没有其他语法或者别的问题
impl文件使用mapper操控数据库,controller使用dao接口来操作数据库。(也可以根据自己的来)
因为我自己也是新手,之前就在impl和controller里面都是使用dao接口来操作数据库,出现如下图的报错:
原因:大概是导入注解循环或者依赖循环吧
后面使用注解@Lazy,如下图所示,最后解决了这个问题。
最后,检查一下fluent-mybatis配置文件的注解是否添加或者是否添加对
关于这个问题,我看了网上好多都是说在dao层、entity层、service层注解不对,添加就能解决了,我也不懂是不是,我原本搭建整合fluen-mybatis的配置文件里面是没有看到有这个注解的@Configuration
(如果实在找不到报错的解决方法,可以尝试去看看别人搭建的框架的注解跟自己的是否一致,当然也有一些搭建的是错误的;这个方法也不一定适用所有人的情况,可以参考看看)
(以下是关于搭建mybatis的一个参考)
参考网址:https://blog.csdn.net/zhiweihongyan1/article/details/120854377
声明:以上这些我都是找了网上的资料进行参考调式出来的,希望能帮助到大家!