You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot整合MyBatis-Plus遇BeanDefinitionStoreException错误求助

问题排查与解决:MyBatis-Plus整合SpringBoot出现factoryBeanObjectType类型错误

核心异常分析

你遇到的org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'bookDao' defined in file [...] Invalid value type for attribute 'factoryBeanObjectType': java.lang.String,本质是Spring解析MyBatis-Plus的Mapper Bean定义时触发了类型匹配失败,问题集中在版本兼容、注解冲突、依赖配置这几个方向。

具体解决步骤

  • 版本兼容性检查
    Spring Boot与MyBatis-Plus版本必须匹配,不兼容组合会触发反射/类型转换错误:

    • Spring Boot 2.7.x 搭配 MyBatis-Plus 3.5.1~3.5.3
    • Spring Boot 3.x 搭配 MyBatis-Plus 3.5.3+ 或 4.0.0+
      检查pom.xml(或build.gradle)中的依赖版本,示例:
    <!-- Spring Boot 2.7.x + MyBatis-Plus 3.5.3 示例依赖 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3</version>
    </dependency>
    
  • 移除重复的Mapper注解
    @Mapper和@MapperScan二选一即可,不要同时使用:

    • 若启动类SSMPApplication.java已添加@MapperScan("你的dao包全路径"),直接删除BookDao.java上的@Mapper注解
    • 若保留BookDao上的@Mapper,则删除启动类上的@MapperScan
  • 清理冲突依赖
    确保项目只引入MyBatis-Plus的starter依赖,不要同时引入原生MyBatis的starter,避免依赖冲突:

    <!-- 仅保留该依赖,删除mybatis-spring-boot-starter -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
    </dependency>
    
  • 校验application.yml配置
    确认MyBatis-Plus的配置前缀为mybatis-plus,不要写成原生MyBatis的mybatis,示例正确配置:

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
        username: root
        password: 你的数据库密码
    mybatis-plus:
      mapper-locations: classpath:mapper/*.xml # 有XML映射文件时配置,无则可省略
      type-aliases-package: com.xxx.entity # 你的实体类包路径
    
  • 清理IDE缓存并重构
    执行Maven/Gradle的clean+compile命令,或重启IDE,清除编译缓存导致的异常。

内容的提问来源于stack exchange,提问作者Carl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 07:18:18