错误信息
使用的SpringBoot3版本:3.2.3
java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
第一想法就是感觉是版本太低导致和SpringBoot3不兼容。
查询mybatis-plus最高的版本
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.5</version>
</dependency>
将引入的mybatis-plus依赖的版本升到最高版本后,重新启动项目,依旧报同样的错。
那就只能说明我们使用的SpringBoot应用程序的版本太高了,mybatis-plus还没有针对SpringBoot3的最新版本做出兼容性处理。
解决办法
在mybatis-plus的依赖中先排除 mybatis-plus 和 spring整合的类:mybatis-spring,
然后再单独的将mybatis-spring依赖引入,此时引入的是mybatis-spring最高版本。在mybatis-plus中mybatis-spring默认的版本是2.几的,所以我们这里引入最新3.0.3版本,这个版本和SpringBoot 3.2.3是兼容的。
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.5</version><!-- 先排除mybatis-plus和spring整合的一个类 --><exclusions><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></exclusion></exclusions>
</dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version>
</dependency>
结果
可以发现,能够成功运行了!