尝试 Spring Boot + MyBatis Plus 实现简单CRUD,结果报错Invalid bean definition

尝试 Spring Boot + MyBatis Plus 实现简单CRUD

在启动应用时,报错

Invalid bean definition with name 'userMapper' defined in file [D:\Users\Programing\JavaWeb\MySpringBatisplus\MySpringBatisplus\target\classes\com\tre2e\myspringbatisplus\mapper\userMapper.class]: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String

排查了

  1. Mapper文件是否添加了@Mapper注解
  2. 检查启动类是否添加@MapperScan注解
  3. 重新mvn clean

本着一定会有人遇到问题的法则,于是上网google。

SpringBoot 3.x整合MyBatis-Plus时报错 Invalid bean definition with name ‘xxxMapper‘ defined in flle

找到这样一篇文章,发现问题。

Spring Boot依赖版本不匹配问题

在Spring Boot 2.x中

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.11</version>
</dependency>

而到了Spring Boot 3.x

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
    <version>3.5.11</version>
</dependency>

笔者使用的是Spring Boot 3,却使用了2的依赖,所以报错。

换成3的依赖后,问题解决。

posted @ 2025-11-12 21:13  tre2e  阅读(2)  评论(0)    收藏  举报