扩展机制总览
Forge Admin 采用微内核插件化架构,提供多层次的扩展能力。
扩展层次
应用层 forge-admin-server(主应用入口)
↓
插件层 forge-plugin-*(业务插件,可插拔)
↓
框架层 forge-starter-*(技术启动器)
↓
SPI 层 预定义接口,业务自定义实现扩展方式
| 方式 | 说明 | 适用场景 |
|---|---|---|
| Starter | 技术能力封装,自动装配 | 缓存、日志、认证等基础能力 |
| Plugin | 业务功能模块,可插拔 | 系统管理、代码生成、流程等 |
| SPI | 预定义接口,业务提供实现 | 文件存储、消息渠道、社交登录 |
| 自动装配 | Spring Boot 自动配置 | 条件化 Bean 注册 |
Starter(技术启动器)
Starter 位于 forge-starter-parent 下,封装底层技术能力:
| Starter | 能力 |
|---|---|
| forge-starter-core | 统一响应、异常处理、工具类 |
| forge-starter-auth | Sa-Token 认证授权 |
| forge-starter-orm | MyBatis-Plus + 动态数据源 |
| forge-starter-cache | Redis + Redisson |
| forge-starter-file | 文件存储(本地/OSS/RustFS) |
| forge-starter-log | 操作日志 |
| forge-starter-crypto | API 加解密 |
Plugin(业务插件)
Plugin 位于 forge-plugin-parent 下,是可插拔的业务模块:
| Plugin | 功能 |
|---|---|
| forge-plugin-system | 用户/角色/菜单/部门/字典 |
| forge-plugin-generator | 代码生成器 |
| forge-plugin-job | 定时任务 |
| forge-plugin-message | 消息中心 |
| forge-plugin-flow | 工作流 |
| forge-plugin-ai | AI 能力 |
SPI(服务提供者接口)
Forge 预定义了多个 SPI 扩展点,业务模块提供实现即可扩展行为:
| SPI | 扩展点 | 说明 |
|---|---|---|
| FileStorageSPI | 文件存储 | 自定义存储方式 |
| MessageChannelSPI | 消息渠道 | 自定义消息推送 |
| SocialLoginSPI | 社交登录 | 自定义登录方式 |
| EnterpriseCollaborationSPI | 企业协同 | 自定义企业平台对接 |
自动装配
基于 Spring Boot 自动配置机制,Starter 通过 @AutoConfiguration 类和 @Conditional 注解实现按需装配。
