前排提醒注意文章时限!本文写于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。文章来源:https://www.toymoban.com/news/detail-830326.html
结论:
依赖盲目使用IDEA推荐的最新版,可能会出现类似问题。文章来源地址https://www.toymoban.com/news/detail-830326.html
到了这里,关于解决使用Mybatis出现Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!