Skip to content

Kernel、Plugin、Starter 职责

Forge Admin 采用三级模块化设计,每层有明确的职责边界。

三层职责

层级说明举例
Kernel(核心)框架基础设施,统一依赖管理(BOM)forge-dependenciesforge-starter-core
Starter(启动器)技术能力封装,提供横向技术支撑认证、缓存、ORM、加密、日志
Plugin(插件)业务功能模块,可插拔的业务实现系统管理、代码生成、流程、AI

设计原则

  • Starter 是技术能力:认证、缓存、ORM、加密、分布式锁等。解决"怎么做"的问题。
  • Plugin 是业务功能:用户管理、代码生成、流程审批、消息推送等。解决"做什么"的问题。
  • Plugin 依赖 Starter:Plugin 可以调用任何 Starter 提供的能力,但 Starter 不依赖 Plugin。
  • Kernel 管理全局:统一依赖版本、核心工具类、全局异常处理。

模块完整树

forge-framework/
├── forge-dependencies/              # 【BOM】统一依赖版本管理

├── forge-starter-parent/            # 【技术启动器】横向能力
│   ├── forge-starter-core/          # 核心工具类、异常、统一响应
│   ├── forge-starter-web/           # Web 层(Undertow + 全局异常)
│   ├── forge-starter-auth/          # 认证授权(Sa-Token)
│   ├── forge-starter-orm/           # ORM(MyBatis-Plus + 动态数据源)
│   ├── forge-starter-cache/         # 缓存(Redis + Redisson)
│   ├── forge-starter-tenant/        # 多租户隔离
│   ├── forge-starter-datascope/     # 数据权限
│   ├── forge-starter-crypto/        # API 加解密
│   ├── forge-starter-excel/         # Excel 导入导出
│   ├── forge-starter-file/          # 文件存储
│   ├── forge-starter-log/           # 操作日志
│   ├── forge-starter-idempotent/    # 幂等控制
│   ├── forge-starter-id/            # 分布式 ID
│   ├── forge-starter-config/        # 动态配置
│   ├── forge-starter-trans/         # 分布式事务
│   ├── forge-starter-social/        # 社交登录
│   └── forge-sartter-websocket/     # WebSocket

└── forge-plugin-parent/             # 【业务插件】纵向能力
    ├── forge-plugin-system/         # 系统管理(用户/角色/菜单/部门)
    ├── forge-plugin-generator/      # 代码生成器
    ├── forge-plugin-job/            # 定时任务
    ├── forge-plugin-message/        # 消息中心
    ├── forge-plugin-flow/           # 流程引擎
    └── forge-plugin-ai/             # AI 能力

如何选择

你想做的事应该放在
封装一个新的技术能力(如新缓存方案)新建 Starter
实现一个新的业务功能(如发票管理)新建 Plugin
修改用户管理的业务逻辑修改 Plugin-system
修改 ORM 层的拦截器逻辑修改 Starter-orm
新增全局工具类修改 Starter-core

依赖关系

Plugin  →  Starter  →  Core

  Kernel (Dependencies BOM)
  • Plugin 可以依赖 Starter
  • Starter 之间可以互相依赖
  • Plugin 之间不应有强依赖
  • 所有模块版本统一由 forge-dependencies BOM 管理

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架