一、问题背景(真实踩坑场景)
最近在项目中将 Spring Boot 从 2.x 升级到 3.x,数据库层使用的是 MyBatis-Plus。
升级完成后,代码编译正常,但在 启动项目或运行单元测试时直接启动失败。
控制台抛出一个看起来非常'抽象'的异常:
java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
乍一看不像配置问题,也不像代码写错,但就是启动不了,非常影响开发效率。
二、错误现象(启动直接失败)
1️⃣ 启动时报错截图

实际项目中一般表现为 Spring Boot 启动到一半直接中断
*************************** APPLICATION FAILED TO START ***************************
紧接着就是核心异常:
Invalid value type for attribute 'factoryBeanObjectType'
2️⃣ 单元测试同样失败
如果你在项目中写了 Mapper 层或 Service 层测试:
@SpringBootTest class UserMapperTest { ... }
运行测试时,也会在加载 Spring 上下文阶段直接失败。
三、完整错误堆栈(重点)
排查这个问题时,一定要把堆栈完整打出来,关键在这里:
Caused by: java.lang.IllegalArgumentException: Invalid value type for attribute : java.lang.String at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.(FactoryBeanRegistrySupport.java:) at org.springframework.beans.factory.support.AbstractBeanFactory.(AbstractBeanFactory.java:) at org.springframework.beans.factory.support.AbstractBeanFactory.(AbstractBeanFactory.java:)


