Skip to content

ruoyi-common-bom 依赖管理模块

1. 模块概述

ruoyi-common-bom 是common通用模块的统一依赖管理模块,负责定义和管理所有common子模块的版本信息。通过 bom 模式实现了依赖版本的统一管理,避免了版本冲突,简化了项目维护。

  • GroupId: plus.ruoyi
  • ArtifactId: ruoyi-common-bom
  • 当前版本: 5.4.0
  • 打包方式: pom

2. BOM 架构设计

2.1 版本管理策略

xml

<properties>
    <revision>5.4.0</revision>
</properties>
  • 采用统一版本号管理
  • 所有模块使用 ${revision} 占位符
  • 便于版本升级和发布管理

2.2 依赖管理范围

通过 父pom文件(根目录pom文件)<dependencyManagement> 统一管理 30+ 个功能模块的版本,确保整个项目的依赖一致性。

3. 功能模块分类

3.1 核心基础模块 (Core Foundation)

模块名称ArtifactId功能说明
核心模块ruoyi-common-core基础工具类与通用功能,系统核心依赖
安全模块ruoyi-common-security应用安全防护功能,包含加密、验证等
Web服务模块ruoyi-common-webWeb应用基础功能支持,MVC配置等
日志记录模块ruoyi-common-log统一日志处理功能,日志切面和存储

特点: 这些是系统的基础设施模块,几乎所有其他模块都会依赖它们。

3.2 数据处理模块 (Data Processing)

模块名称ArtifactId功能说明
数据库服务模块ruoyi-common-mybatisMyBatis增强与数据库交互
缓存服务模块ruoyi-common-redisRedis缓存集成与工具
序列化模块ruoyi-common-jsonJSON序列化与反序列化工具
数据库加解密模块ruoyi-common-encrypt敏感数据加密存储
Excel处理模块ruoyi-common-excelExcel导入导出功能
脱敏模块ruoyi-common-sensitive数据脱敏与隐私保护
OSS模块ruoyi-common-oss对象存储服务集成
翻译模块ruoyi-common-serialmap多语言支持与国际化

特点: 专注于数据的存储、处理、转换和安全保护。

3.3 安全与认证模块 (Security & Authentication)

模块名称ArtifactId功能说明
SaToken模块ruoyi-common-satoken权限认证框架,统一认证管理
租户模块ruoyi-common-tenant多租户支持,数据隔离
社交登录模块ruoyi-common-social第三方账号集成,OAuth登录

特点: 提供完整的身份认证和授权解决方案。

3.4 通信与消息模块 (Communication & Messaging)

模块名称ArtifactId功能说明
邮件服务模块ruoyi-common-mail邮件发送集成,支持模板邮件
短信模块ruoyi-common-sms短信发送集成,验证码服务
WebSocket模块ruoyi-common-websocket实时双向通信支持
SSE模块ruoyi-common-sse服务器发送事件支持

特点: 覆盖了现代应用的各种通信需求。

3.5 API与接口模块 (API & Documentation)

模块名称ArtifactId功能说明
接口文档模块ruoyi-common-docAPI文档生成与测试,集成Swagger/OpenAPI

特点: 提供API文档自动生成和在线测试能力。

3.6 系统功能模块 (System Features)

模块名称ArtifactId功能说明
调度模块ruoyi-common-job定时任务与作业调度
幂等模块ruoyi-common-idempotent防止重复提交与操作
限流模块ruoyi-common-ratelimiter接口限流与流量控制

特点: 提供系统级的高级功能支持。

3.7 业务扩展模块 (Business Extensions)

模块名称ArtifactId功能说明
微信小程序模块ruoyi-common-miniapp微信小程序开发支持
微信公众号模块ruoyi-common-mp微信公众号开发支持
支付模块ruoyi-common-pay支付功能集成

特点: 面向具体业务场景的功能模块。

4. BOM 使用优势

4.1 版本统一管理

  • 一处修改,全局生效: 只需修改 revision 属性即可升级所有模块
  • 避免版本冲突: 确保所有模块使用相同版本,减少兼容性问题
  • 简化维护: 集中管理依赖版本,降低维护成本

4.2 依赖管理简化

xml
<!-- 在子项目中,只需引用 artifactId,无需指定版本 -->
<dependency>
    <groupId>plus.ruoyi</groupId>
    <artifactId>ruoyi-common-core</artifactId>
    <!-- 版本由 BOM 统一管理,无需指定 -->
</dependency>

4.3 模块化架构

  • 高内聚低耦合: 每个模块职责单一,功能清晰
  • 按需引入: 项目可根据需要选择性引入模块
  • 扩展灵活: 新功能可独立成模块,不影响现有架构

5. 模块依赖关系

ruoyi-common-bom (根依赖管理)
├── 核心基础层
│   ├── ruoyi-common-core (基础工具)
│   ├── ruoyi-common-security (安全防护)
│   ├── ruoyi-common-web (Web支持)
│   └── ruoyi-common-log (日志处理)
├── 数据处理层
│   ├── ruoyi-common-mybatis (数据库)
│   ├── ruoyi-common-redis (缓存)
│   ├── ruoyi-common-json (序列化)
│   └── ... (其他数据处理模块)
├── 认证授权层
│   ├── ruoyi-common-satoken (认证)
│   ├── ruoyi-common-tenant (多租户)
│   └── ruoyi-common-social (社交登录)
├── 通信消息层
│   ├── ruoyi-common-websocket (实时通信)
│   ├── ruoyi-common-sse (服务推送)
│   └── ... (其他通信模块)
└── 业务扩展层
    ├── ruoyi-common-miniapp (小程序)
    ├── ruoyi-common-pay (支付)
    └── ... (其他业务模块)

6. 最佳实践建议

6.1 使用 BOM 的项目配置

xml
<!-- 在父 POM 中引入 BOM -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>plus.ruoyi</groupId>
            <artifactId>ruoyi-common-bom</artifactId>
            <version>${revision}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

6.2 模块选择策略

  • 必选模块: core, security, web, log
  • 数据相关: 根据存储需求选择 mybatis, redis, json
  • 认证授权: 根据安全需求选择 satoken, tenant
  • 业务功能: 根据具体业务场景按需选择