
Spring AI 2.0.1 通过传递依赖将 Spring Boot 拉到 4.0.x、Spring Framework 拉到 7.x、Jackson 拉到 3.x。与 Spring Boot 3.x 项目不兼容。组件Spring Boot 3.x 项目Spring AI 2.0.1 要求Spring Boot3.5.x4.0.xSpring Framework6.x7.xJackson2.xcom.fasterxml.jackson.core3.xtools.jackson.core典型错误1. Jackson 注解缺失NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonSerializeAsJackson 3.x 的 databind 需要 annotations 2.21Spring Boot 3.x 自带的是 2.18。2. Jackson 版本冲突MalformedParameterizedTypeException: Mismatch of count of formal and actual type arguments in constructor of tools.jackson.core.TreeCodecJackson 2.x 和 3.x 的 jar 同时在 classpath 上Spring Boot 3.x 的JacksonAutoConfiguration用 2.x API 创建 ObjectMapper 时遇到 3.x 的类。3. MyBatis Plus 自动配置失效Property sqlSessionFactory or sqlSessionTemplate are requiredmybatis-plus-spring-boot-autoconfigure依赖 Spring Boot 3.xSpring Boot 4.0.x 下不生效。解决方案pom.xml 关键配置:!-- 1. Spring Boot 升到 4.0.x -- parent groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-parent/artifactId version4.0.4/version /parent !-- 2. Spring AI BOM 2.0.1 -- dependencyManagement dependencies dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-bom/artifactId version2.0.1/version typepom/type scopeimport/scope /dependency /dependencies /dependencyManagement !-- 3. MyBatis Plus 排除自动配置手动管理 -- dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-spring-boot3-starter/artifactId version3.5.12/version exclusions exclusion groupIdcom.baomidou/groupId artifactIdmybatis-plus-spring-boot-autoconfigure/artifactId /exclusion /exclusions /dependency手动配置 MyBatis Plus(MyBatisPlusConfig.java):Configuration MapperScan(com.example.mapper) public class MyBatisPlusConfig { Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean factory new MybatisSqlSessionFactoryBean(); factory.setDataSource(dataSource); SqlSessionFactory sqlSessionFactory factory.getObject(); sqlSessionFactory.getConfiguration().setMapUnderscoreToCamelCase(true); return sqlSessionFactory; } Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }总结问题原因解决Jackson 注解缺失Jackson 3.x 需要 annotations 2.21Spring Boot 4.0.x 自带Jackson 版本冲突2.x 和 3.x 共存Spring Boot 4.0.x 统一用 3.xMyBatis Plus 不兼容自动配置不支持 Spring Boot 4.x排除自动配置手动配置 SqlSessionFactory一句话Spring AI 2.0.1 要求 Spring Boot 4.0.x别在 3.x 上硬凑。