java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Spring Boot 版本兼容MyBatis-Plus 依赖

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

作者: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 依赖内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文