问题
SpringBoot + MyBatis-Plus 启动项目时报错
Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
问题发生环境
Spring Boot 版本:3.2.5
MyBatis-Plus依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.6</version>
</dependency>
解决方案
- 添加Mybatis的依赖(为了使用
@MapperScan
注解,不添加会报错)
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
- 更改 MyBatis-Plus 的依赖为:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.6</version>
</dependency>
- 记得 maven reload
之后启动项目回归正常
其它失败的尝试
使用MyBatis-Plus 官方给出 Spring Boot 3 的依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.6</version>
</dependency>
但是我的 maven 找不到这个依赖
相关文章
Stack Overflow:
https://stackoverflow.com/questions/77590308/error-when-springboot3-combines-with-mybatis-plus-3-5-and-jdk-17
一点感想
依赖问题比较让人头疼
- 光看控制台输出的报错信息完全不知道是哪里出了问题
- 对于不同的 Spring Boot 版本,需要引入不同的依赖
- 低版本可能会导致问题,这时候需要升级版本
- 出现版本不兼容问题,又可能需要回退到低版本