解决mapper无法自动装配,未找到‘userMapper‘类型的Bean报错问题

 更新时间:2024年11月12日 09:33:49   作者:GooO_O  
解决Spring Boot中Mapper无法自动装配的问题,可以通过在Mapper接口上添加@Repository注解来解决,@Mapper和@Repository虽然都可以将类注册为Bean,但@Mapper是MyBatis的注解,不需要在Spring中配置扫描地址,而@Repository是Spring的注解

mapper无法自动装配,未找到‘userMapper‘类型的Bean报错

在这里插入图片描述

解决办法

报错原因

因为@Mapper是属于mybatis,不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中。

看了很多同学们的在设置改掉springbean自动装配的办法,但是仍报错。

可以选择在mapper interface上面,添加@Repository注解:

在这里插入图片描述

效果

在这里插入图片描述

@Mapper与@Repository的详细区别

@Mapper与@Repository的相同点

  • 两个注解都可在dao/mapper层使用(用来标记持久层)
  • 生成相应代理对象bean注入到spring容器中

@Mapper与@Repository的不同点

  • @Mapper是mybatis的注解,可以单独使用,也允许存在在多个mapper文件,它不需要在Spring中配置扫描地址,通过xml里面的namespace里面的接口地址,生成Bean后注入到Service层中。
  • @Repository是spring提供的注解,能够将该类注册成Bean。被依赖注入,但是使用该注解后,在启动类上要加@MapperScan来表名Mapper类的位置,否则扫描不到。但在idea中,使用@Repository可以消除在业务层中注入mapper对象时的错误。

总结

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

相关文章

  • Java实现Excel文件转PDF(无水印无限制)

    Java实现Excel文件转PDF(无水印无限制)

    这篇文章主要为大家详细介绍了如何利用Java语言实现Excel文件转PDF的效果,并可以无水印、无限制。文中的示例代码讲解详细,需要的可以参考一下
    2022-06-06
  • Java中大量闲置MySQL连接的解决方案

    Java中大量闲置MySQL连接的解决方案

    大量闲置 MySQL 连接会直接导致 MySQL 连接数耗尽(Too many connections)、服务器资源(内存/文件句柄)浪费、数据库响应变慢等问题,所以本文给大家介绍了Java中大量闲置MySQL连接的解决方案,需要的朋友可以参考下
    2025-12-12
  • Java基础学习之方法的重载知识总结

    Java基础学习之方法的重载知识总结

    今天带大家来回顾Java基础知识,文中对Java方法的重载相关知识作了非常详细的介绍,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • Java生产者和消费者实现等待唤醒机制

    Java生产者和消费者实现等待唤醒机制

    本文主要介绍了Java生产者和消费者实现等待唤醒机制,通过synchronized、wait()和notifyAll()实现线程间的安全协作,具有一定的参考价值,感兴趣的可以了解一下
    2025-06-06
  • Java应用层协议WebSocket实现消息推送

    Java应用层协议WebSocket实现消息推送

    后端向前端推送消息就需要长连接,首先想到的就是websocket,下面这篇文章主要给大家介绍了关于java后端+前端使用WebSocket实现消息推送的详细流程,需要的朋友可以参考下
    2023-02-02
  • SPRINGMVC JSON数据交互如何实现

    SPRINGMVC JSON数据交互如何实现

    这篇文章主要介绍了SPRINGMVC JSON数据交互如何实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Maven中的库repository详解

    Maven中的库repository详解

    Maven中要配置库,可以有多种方式,最直接的是在项目中的pom.xml文件中,通过<repositories>配置库,这样配置的库仅适用于当前项目,这篇文章主要介绍了Maven中的库(repository),需要的朋友可以参考下
    2024-01-01
  • mybatis简介与配置_动力节点Java学院整理

    mybatis简介与配置_动力节点Java学院整理

    这篇文章主要介绍了mybatis简介与配置,介绍了MyBatis+Spring+MySql简单配置,有兴趣的可以了解一下
    2017-09-09
  • Java实现Dijkstra算法的示例代码

    Java实现Dijkstra算法的示例代码

    Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。本文主要介绍了实现这一算法的Java代码,需要的可以参考一下
    2022-07-07
  • Java生成由时间组成的订单号方式

    Java生成由时间组成的订单号方式

    这篇文章主要介绍了Java生成由时间组成的订单号方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论