一、当升级遭遇滑铁卢
当我们将 Spring Boot 升级到 3.2.0+ 版本时,熟悉的 Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
错误突然吞噬了控制台。这个看似神秘的错误频繁出现在整合 Mybatis-Plus 3.5.x 时,甚至会附赠 Invalid bean definition with name 'xxxMapper'
的组合拳攻击24。本文将通过实战踩坑经验,为你揭开这一问题的根本原因,并提供两种可靠的解决方案。
二、直击问题核心
1. 错误发生的根本原因
Spring Boot 3.2+(基于 Spring Framework 6.1+)要求强制适配 Jakarta EE 9+ 命名空间(jakarta.*
取代 javax.*
),而 Mybatis-Plus 3.5.x 默认绑定的 mybatis-spring
模块仍使用旧版 javax.persistence
等包路径1。这种路径不兼容导致 Mapper 接口无法正确生成代理对象,从而触发类型转换异常。