在若依(RuoYi-Vue 前后端分离版本 v3.8.9)框架中集成MyBatis-Plus的注意事项:Spring Boot 2.x与3.x依赖差异详解


前言

若依(RuoYi-Vue)作为一款基于Spring Boot的快速开发平台,因其模块化设计和丰富的功能深受开发者喜爱。但在集成MyBatis-Plus时,若依的master分支(Spring Boot 2.x)与springboot3分支(Spring Boot 3.x)存在关键依赖差异,直接照搬官方文档可能导致依赖冲突或启动失败。本文将通过对比分析,帮助开发者快速解决这一问题。


一、问题背景

根据若依官方文档,集成MyBatis-Plus需在ruoyi-common/pom.xml中添加以下依赖:

<!-- MyBatis-Plus 增强CRUD -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>

但这一配置仅适用于Spring Boot 2.x的master分支
若使用springboot3分支(基于Spring Boot 3.x),必须修改依赖名称,否则会因包路径不兼容(javaxjakarta)导致启动失败。


二、关键差异:依赖配置对比
1. Spring Boot 2.x(RuoYi-Vue master分支)
  • 依赖名称:mybatis-plus-boot-starter
  • 配置示例:
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.1</version>
    </dependency>
    
2. Spring Boot 3.x(RuoYi-Vue springboot3分支)
  • 依赖名称:mybatis-plus-spring-boot3-starter
    (注意名称中多了-spring-boot3标识)
  • 配置示例:
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
        <version>3.5.1</version>
    </dependency>
    

三、正确配置方式

仅需修改依赖名称,其他步骤与官方文档一致!

  • Spring Boot 2.x:使用mybatis-plus-boot-starter,按文档操作即可。
  • Spring Boot 3.x:替换为mybatis-plus-spring-boot3-starter,其余配置无需调整。

四、为何依赖名称不同?

Spring Boot 3.x将包命名空间从javax迁移至jakarta,导致部分依赖需适配。MyBatis-Plus为兼容Spring Boot 3.x,专门提供了-spring-boot3-starter模块,解决类路径冲突问题。若错误使用旧版依赖,会报ClassNotFoundExceptionNoClassDefFoundError


五、总结
  • 核心结论
    • master分支(Spring Boot 2.x) → mybatis-plus-boot-starter
    • springboot3分支(Spring Boot 3.x) → mybatis-plus-spring-boot3-starter
  • 避坑指南
    克隆代码后,先通过父工程pom.xml确认Spring Boot版本(2.x或3.x),再选择对应依赖。
  • 扩展建议
    MyBatis-Plus版本需与Spring Boot匹配,建议参考官方文档

通过本文,开发者可快速定位若依框架中MyBatis-Plus集成的依赖配置问题,避免因版本差异导致的启动失败。如有疑问,欢迎评论区交流!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐