基于Spring整合mybatis注解扫描是否成功的问题

 更新时间:2021年10月09日 10:52:37   作者:一步两步走呀走  
这篇文章主要介绍了Spring整合mybatis注解扫描是否成功的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Spring整合mybatis注解扫描是否成功

IDEA spring整合mybatis会使用注解扫描的配置

<context:component-scan base-package="/>

不管是使用@ Component、@Service、@Controller还是Repository,都是spring ioc操作bean的注解,其实际功能都是一样的,都是用来创建bean实例对象的。

正常情况下,如果自动扫描陈宫,IDEA类的界面在左侧会有绿色的C标记,如图所示。

AutoWired注解下面的类属性左侧也会有一个灰色的箭头和绿色的圆的标记,如果没有配置成功,那么就不会有这两个标记。

对于没有配置成功的情况,可以点击Project Strcuture ,点击modules,模块的srping部分,点击图中的加号,选择模块下面框里的所有xml文件,导入就可以了。

Mybatis注解@MapperScan扫描包报:Invalid bound statement (not found)

前几天,因为无知,将@MapperScan的路径修改到dao的上一层,如下:

在此情况下,对dao层进行Junit测试,测试通过;但对service层测试,则报错,报错如下:

于是乎我就找了度娘,很多老铁也给了各种解决方法(以下解决方法取自网络):

1.检查xml文件所在package名称是否和Mapper interface所在的包名。

2.UserDao的方法在UserDao.xml中没有,然后执行UserDao的方法会报此。

3. UserDao的方法返回值是List<User>,而select元素没有正确配置ResultMap,或者只配置ResultType。

4. 如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存,问题解决。

5.看下mapper的XML配置路径是否正确

但是我没有在上面的描述中解决我所报的错误,而我又是用springboot的注解模式的,于是我就对报错中的cachedMapperMethod

进行debug测试,找到了问题所在。

通过Junit测试dao层,得到debug相关信息,并没有任何异常,如下:

通过Junit测试service层,得到debug相关信息,如下所示,发现了问题所在,service接口也被mybatis接管了,而@MapperScan

作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类。

总结

使用Mybatis的注解@MapperScan需要制定到项目中的dao层,避免其他的接口也被接管了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot统一API响应结果封装的示例详解

    SpringBoot统一API响应结果封装的示例详解

    在Spring Boot项目中,统一API响应结果封装是一种常用的技术实践,旨在提高开发效率、降低代码重复率,并提供一致的API响应格式,从而简化前后端交互和错误处理,感兴趣的小伙伴可以了解下
    2025-03-03
  • java中的hashCode方法小例子

    java中的hashCode方法小例子

    这篇文章主要介绍了java中的hashCode方法小例子,有需要的朋友可以参考一下
    2013-12-12
  • Java 实战项目基于遗传算法学校排课系统的实现流程

    Java 实战项目基于遗传算法学校排课系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+Springboot+Maven+mybatis+Vue+Mysql实现一个基于遗传算法的学校排课系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • go语言题解LeetCode88合并两个有序数组示例

    go语言题解LeetCode88合并两个有序数组示例

    这篇文章主要为大家介绍了go语言题解LeetCode88合并两个有序数组示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 简单学习Java抽象类要点及实例

    简单学习Java抽象类要点及实例

    这篇文章主要介绍了Java抽象类要点及实例,有需要的朋友可以参考一下
    2014-01-01
  • Spring注解@Configuration和@Component区别详解

    Spring注解@Configuration和@Component区别详解

    @Component和@Configuration都可以作为配置类,之前一直都没觉得这两个用起来有什么差别,可能有时程序跑的和自己想的有所区别也没注意到,下面这篇文章主要给大家介绍了关于Spring注解@Configuration和@Component区别的相关资料,需要的朋友可以参考下
    2023-04-04
  • spring boot项目如何采用war在tomcat容器中运行

    spring boot项目如何采用war在tomcat容器中运行

    这篇文章主要介绍了spring boot项目如何采用war在tomcat容器中运行呢,主要讲述将SpringBoot打成war包并放入tomcat中运行的方法分享,需要的朋友可以参考下
    2022-11-11
  • Java实现对象排序的两种方式详解

    Java实现对象排序的两种方式详解

    这篇文章主要介绍了Java实现对象排序的两种方式详解,在Java中经常会涉及到对象数组的排序问题,则就提到对象之间的比较问题,今天我们就来看一下两种不同排序方式之间的区别,需要的朋友可以参考下
    2023-09-09
  • IDEA中启动多个SpringBoot服务的实现示例

    IDEA中启动多个SpringBoot服务的实现示例

    本文主要介绍了IDEA中启动多个SpringBoot服务的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java排序算法中的冒泡排序算法实现

    Java排序算法中的冒泡排序算法实现

    这篇文章主要介绍了Java排序算法中的冒泡排序算法实现,冒泡排序只会操作相邻的两个数据,每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足就让它俩互换,需要的朋友可以参考下
    2023-12-12

最新评论