前排提醒注意文章时限!本文写于2024.1.9
问题描述:
在springboot中使用Mybatis出现Invalid value type for attribute ‘factoryBeanObjectType’: java.lang.String
问题分析:
通过多方查询,一般为Spring Framework(Springboot)、Mybatis-Spring、MyBatis三者版本管理冲突
相关版本兼容性请查询: mybatis-spring官网https://mybatis.org/spring/zh/index.html
我错误使用的版本为:
Springboot:3.2.1
Spring Framework:6.1.2
Mybatis-Spring:3.0.2
MyBatis:3.5.14
皆为我的IDEA默认或推荐的最新版本依赖
深究问题:
在查询版本兼容性文件后,认为不应该是版本兼容问题,但依旧出现使用mybatis就出现Invalid value type for attribute ‘factoryBeanObjectType’: java.lang.String此类错误。
尝试新建项目,排除变量,锁定问题。
在整个项目只有借助Mybatis操作数据库这一功能后,发现只要一使用@Mapper和@MapperScan等由Mybatis-Spring依赖中提供的注解,项目就会出现此类错误,锁定问题出现在Mybatis-Spring依赖。并在调整使用基础mybatis或mybatisplus依赖后错误消失。
发现原因:
Mybatis-Spring:3.0.2此版本存在不稳定性问题,与部分版本Spring Framework组件存在不兼容,但难以锁定是哪些组件之间存在问题(查询双方官网似乎并没有出现相关错误公告)
解决:
手动配置依赖使用3.0.3版本Mybatis-Spring,或降级。
注意:
在本文写作时间,部分版本的IDEA中maven提示的Mybatis-Spring最新版本为3.0.2。
结论:
依赖盲目使用IDEA推荐的最新版,可能会出现类似问题。
版权声明:本文为博主作者:Hail my proud queen原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/qq_51675714/article/details/135489948