Spring Boot 2.x/3.x/4.x 版本兼容的最新MyBatis-Plus依赖

 更新时间:2026年03月13日 08:24:37   作者:Sun 3285  
本文主要介绍了Spring Boot 2.x/3.x/4.x 版本兼容的最新MyBatis-Plus依赖,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

背景

在 Spring Boot 最新的 4.0.3 版本(截止 2026 年 3 月 7 日)中,使用 MyBatis-Plus,在启动项目时,有如下报错:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v4.0.3)

2026-03-07T17:58:14.685+08:00  INFO 3028 --- [backend] [           main] com.sun3285.backend.BackendApplication   : Starting BackendApplication using Java 17.0.9 with PID 3028 (K:\项目\warehouse\backend\target\classes started by Sun3285 in K:\项目\warehouse)
2026-03-07T17:58:14.687+08:00  INFO 3028 --- [backend] [           main] com.sun3285.backend.BackendApplication   : No active profile set, falling back to 1 default profile: "default"
2026-03-07T17:58:14.994+08:00  WARN 3028 --- [backend] [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'userMapper' defined in file [K:\项目\warehouse\backend\target\classes\com\sun3285\backend\mapper\UserMapper.class]: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
2026-03-07T17:58:14.997+08:00  INFO 3028 --- [backend] [           main] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2026-03-07T17:58:15.005+08:00 ERROR 3028 --- [backend] [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'userMapper' defined in file [K:\项目\warehouse\backend\target\classes\com\sun3285\backend\mapper\UserMapper.class]: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:857) ~[spring-beans-7.0.5.jar:7.0.5]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getType(AbstractBeanFactory.java:740) ~[spring-beans-7.0.5.jar:7.0.5]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAnnotationOnBean(DefaultListableBeanFactory.java:811) ~[spring-beans-7.0.5.jar:7.0.5]
	at org.springframework.boot.sql.init.dependency.AnnotationDependsOnDatabaseInitializationDetector.detect(AnnotationDependsOnDatabaseInitializationDetector.java:36) ~[spring-boot-sql-4.0.3.jar:4.0.3]
	at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.detectDependsOnInitializationBeanNames(DatabaseInitializationDependencyConfigurer.java:155) ~[spring-boot-sql-4.0.3.jar:4.0.3]
	at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.postProcessBeanFactory(DatabaseInitializationDependencyConfigurer.java:118) ~[spring-boot-sql-4.0.3.jar:4.0.3]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:363) ~[spring-context-7.0.5.jar:7.0.5]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:197) ~[spring-context-7.0.5.jar:7.0.5]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:795) ~[spring-context-7.0.5.jar:7.0.5]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:603) ~[spring-context-7.0.5.jar:7.0.5]
	at org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-web-server-4.0.3.jar:4.0.3]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:756) ~[spring-boot-4.0.3.jar:4.0.3]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:445) ~[spring-boot-4.0.3.jar:4.0.3]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) ~[spring-boot-4.0.3.jar:4.0.3]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1365) ~[spring-boot-4.0.3.jar:4.0.3]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-4.0.3.jar:4.0.3]
	at com.sun3285.backend.BackendApplication.main(BackendApplication.java:12) ~[classes/:na]


Process finished with exit code 1

借助大模型,问题定位在:Invalid value type for attribute 'factoryBeanObjectType': java.lang.String

根本原因为:MyBatis-Plus 版本与 Spring Boot 4.0.3 不兼容

此时,pom.xml 文件中,MyBatis-Plus 的依赖如下:

<!--    mybatis-plus    -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.16</version>
    <scope>compile</scope>
</dependency>

通过查阅资料,将 MyBatis-Plus 版本与 Spring Boot 版本进行兼容后,启动项目无报错,运行成功

借此机会,以下对分别与 Spring Boot 2.x/3.x/4.x 版本兼容的最新 MyBatis-Plus 依赖(截止 2026 年 3 月 7 日)进行总结。

Spring Boot 2.x 与 MyBatis-Plus 兼容

pom.xml 文件中,需要引入以下 MyBatis-Plus 的依赖(2026 年 1 月 11 日发布):

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.16</version>
    <scope>compile</scope>
</dependency>

Spring Boot 3.x 与 MyBatis-Plus 兼容

pom.xml 文件中,需要引入以下 MyBatis-Plus 的依赖(2026 年 1 月 11 日发布):

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

Spring Boot 4.x 与 MyBatis-Plus 兼容

pom.xml 文件中,需要引入以下 MyBatis-Plus 的依赖(2026 年 1 月 11 日发布):

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-spring-boot4-starter</artifactId>
    <version>3.5.16</version>
    <scope>compile</scope>
</dependency>

到此这篇关于Spring Boot 2.x/3.x/4.x 版本兼容的最新MyBatis-Plus依赖的文章就介绍到这了,更多相关Spring Boot 版本兼容MyBatis-Plus 依赖内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java+mysql本地图片上传数据库及下载示例

    Java+mysql本地图片上传数据库及下载示例

    本篇文章主要介绍了Java+mysql本地图片上传数据库及下载示例,具有一定的参加价值,有兴趣的可以了解一下。
    2017-01-01
  • SpringMVC实现用户登录全过程

    SpringMVC实现用户登录全过程

    这篇文章主要介绍了SpringMVC实现用户登录全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Java Post请求发送form-data表单参数详细示例代码

    Java Post请求发送form-data表单参数详细示例代码

    POST请求是一种常见的网络通信操作,用于向服务器发送数据,这种请求通常用于上传文件或者提交包含大量数据的表单,这篇文章主要介绍了Java Post请求发送form-data表单参数的相关资料,需要的朋友可以参考下
    2025-07-07
  • Mybatis配置之<environments>配置元素详解

    Mybatis配置之<environments>配置元素详解

    这篇文章主要介绍了Mybatis配置之<environments>配置元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 深入探究SpringBoot可以同时处理多少请求

    深入探究SpringBoot可以同时处理多少请求

    SpringBoot是一款非常流行的Java后端框架,它可以帮助开发人员快速构建高效的Web应用程序,但是,许多人对于SpringBoot能够同时处理多少请求的疑问仍然存在,在本篇文章中,我们将深入探讨这个问题,需要的朋友可以参考下
    2023-07-07
  • java实现随机森林RandomForest的示例代码

    java实现随机森林RandomForest的示例代码

    本篇文章主要介绍了java实现随机森林RandomForest的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 如何解决java压缩文件乱码问题

    如何解决java压缩文件乱码问题

    在本篇文章中我们给大家分享的是一篇关于java压缩文件乱码问题的解决办法,有需要的朋友们可以学习下。
    2019-12-12
  • IDEA2025.1如何取消代码自动补全

    IDEA2025.1如何取消代码自动补全

    这篇文章主要介绍了IDEA2025.1如何取消代码自动补全的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Java中类转json的基类实现

    Java中类转json的基类实现

    这篇文章主要介绍了Java中类转json的基类实现,需要的朋友可以参考下
    2021-01-01
  • Java连接PostgreSql数据库及基本使用方式

    Java连接PostgreSql数据库及基本使用方式

    这篇文章主要介绍了Java连接PostgreSql数据库及基本使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论