选低代码平台时,90%的人只看star数。但50K star的JeecgBoot和Forge Admin,低代码方向完全不同,选错了后面全是坑。
我一个朋友去年用JeecgBoot接了个SaaS项目,上线三个月后发现多租户数据隔离不够深,接口安全也没做好,最后硬着头皮重构了权限层。不是JeecgBoot不行,是用错了地方。
今天这篇文章,把两个框架掰开揉碎了对比。看完你就知道该选谁。
(配图建议:两个框架Logo并列对比图,中间加vs字样)
这是两个框架最底层的分水岭。
JeecgBoot的低代码是BPM流程驱动的。核心路径是:在线配置表单→代码生成器生成前后端代码→手工Merge到项目里。它的低代码最终产物是什么?是代码文件。所以它的口号叫"AI生成→OnlineCoding→代码生成→手工Merge"。
Forge Admin走的是协议驱动路线。核心是一套JSON Schema协议——modelSchema定义数据模型,pageSchema定义页面编排。低代码的最终产物是什么?是JSON协议,不是代码。页面由运行时引擎按协议动态渲染。
| 对比维度 | JeecgBoot | Forge Admin |
|---|---|---|
| 驱动方式 | BPM工作流驱动 | JSON Schema协议驱动 |
| 核心路径 | 在线配置→代码生成→手工Merge | AI生成→向导搭建→协议渲染 |
| 最终产物 | 代码文件(需手工合并) | JSON协议(运行时直接渲染) |
| 建表方式 | Online表单在线配置 | ModelDesigner浏览器端设计 |
| 页面模板 | 单表/树表/主子表 | SimpleCrud/TreeCrud/MasterDetail三模板 |
这里有个关键差异:JeecgBoot生成的代码你要自己合并到项目里,改完再生成就要处理冲突;Forge的协议是纯数据,改了配置页面直接变,页面和代码彻底解耦。
做短期项目,代码生成快;做长期产品,协议驱动可维护性强。
(配图建议:两个框架的低代码流程图对比,JeecgBoot侧标注"产出:代码文件",Forge侧标注"产出:JSON协议")
代码生成器是JeecgBoot的看家本领。
JeecgBoot的代码生成器是真的强:在线配置好表结构,一键生成Controller、Service、Mapper、Entity、Vue页面,全套前后端代码直接可用。然后你手工Merge到自己的项目里。
Forge Admin的路线完全不同。它的代码生成是AI生成配置+Velocity模板渲染:AI生成的是一个AiCrudConfig配置JSON(不是代码),然后用28个Velocity模板把配置渲染成规范化的代码包,你下载下来直接用。
| 对比维度 | JeecgBoot | Forge Admin |
|---|---|---|
| 生成方式 | 在线配置→一键生成 | AI生成配置→模板渲染→下载 |
| 生成内容 | Controller/Service/Mapper/Entity/Vue全套 | 规范代码包(模板统一结构) |
| AI角色 | AI辅助描述需求 | AI生成配置JSON,不生成代码 |
| 代码结构 | 生成即最终代码 | 模板渲染保证统一规范 |
| 安全注解 | 需手动添加 | 4类安全注解自动注入 |
核心区别:JeecgBoot生成的是最终代码,你要手工Merge,代码风格取决于生成器版本;Forge生成的是模板渲染的规范化代码+AI生成的配置JSON,代码结构统一可控。
换句话说,JeecgBoot是"AI帮你把代码写好",Forge是"AI帮你把配置写好,模板帮你把代码写好"。
数据权限是企业级项目的硬需求。两个框架都做了,但深度完全不同。
JeecgBoot基于RBAC模型,支持行级、列级、字段级数据权限。常规的后台管理项目完全够用。
Forge Admin在这方面下了狠功夫:定义了7大DataScopeType——ALL(全部)、SELF(本人)、ORG(本组织)、ORG_AND_CHILD(组织及子组织)、CUSTOM(自定义)、TENANT_ALL(租户全部)、REGION(行政区划)。
| 对比维度 | JeecgBoot | Forge Admin |
|---|---|---|
| 权限模型 | RBAC,行级/列级/字段级 | 7大DataScopeType |
| 行政区划权限 | 不支持 | 支持(REGION),省级=全部放行 |
| 实现层 | 业务层过滤 | JSqlParser在Mapper层SQL改写 |
| 跳过机制 | — | DataScopeContextHolder.isSkip() |
| 配置化 | — | SysDataScopeConfig表存储规则 |
Forge最狠的一招是在Mapper层用JSqlParser改写SQL。不是在Service层加过滤条件,而是直接在你的SQL的WHERE子句里动态拼接权限条件。这意味着无论你怎么写SQL,权限都绕不过去。同时兼容MyBatis-Plus分页的_mpCount查询,不会漏掉。
如果你的业务涉及行政区划数据权限(政府项目很常见),JeecgBoot需要自己扩展,Forge原生支持。
多租户是SaaS产品的命门。
JeecgBoot支持SAAS多租户,作为平台特性存在。
Forge Admin的做法是深度集成到SQL层:MyBatis-Plus多租户插件+JSqlParser自动在SQL中注入tenant_id条件。但这还不是最关键的,最关键的是五级忽略策略:
| 优先级 | 策略 | 说明 |
|---|---|---|
| 1 | 上下文标记 | TenantContextHolder运行时动态标记 |
| 2 | 配置白名单 | 17张系统表默认忽略 |
| 3 | 手动注册 | 代码级动态添加忽略表 |
| 4 | 自动扫描 | 检测表有无tenant_id列,无则自动跳过 |
| 5 | 注解驱动 | @IgnoreTenant注解+切面 |
| 对比维度 | JeecgBoot | Forge Admin |
|---|---|---|
| 多租户实现 | 平台特性级 | SQL层注入+五级忽略策略 |
| 线程传递 | — | TransmittableThreadLocal |
| 严格模式 | — | 支持(无法确定租户时抛异常) |
| 动态忽略 | — | executeIgnore()函数式编程 |
| 自动检测 | — | autoDetectTenantColumn自动跳过无租户列的表 |
第五级自动扫描特别实用:你引个第三方表,表里没有tenant_id字段,Forge自动跳过注入,不会报错。JeecgBoot需要手动配置。
做SaaS产品的话,Forge的多租户方案是经过深思熟虑的——不是"支持多租户",而是"多租户渗透到每一行SQL"。
(配图建议:五级忽略策略的金字塔层级图,从上到下排列)
安全这块,两个框架的思路差异很大。
JeecgBoot用的是Shiro/Spring Security+JWT,颗粒化权限控制,菜单权限、按钮权限、数据权限都到位了,满足常规企业级需求。
Forge Admin在API安全层面做了大量工作:
| 对比维度 | JeecgBoot | Forge Admin |
|---|---|---|
| 认证框架 | Shiro/Spring Security | Sa-Token |
| 接口加解密 | — | RSA密钥协商+SM4/AES+RequestBodyAdvice |
| 防重放攻击 | — | ReplayTokenCache+nonce机制 |
| 文件鉴权 | — | 时效URL+私有文件权限校验 |
| 分布式幂等 | — | 3策略+SpEL键生成+Redisson锁 |
Forge的接口加解密流程设计得很完整:客户端先拿RSA公钥→生成本地SM4/AES会话密钥→RSA加密后传给服务端→后续请求全部用会话密钥加解密。再加上防重放的nonce机制,API安全性直接拉满。
分布式幂等也有三套策略:STRICT(严格拒绝重复,适合支付)、RETURN_CACHE(返回缓存结果,适合查询)、TOKEN_REQUIRED(先拿Token再提交,适合表单)。
如果你做的是一般企业后台,JeecgBoot的安全能力够了。但如果是金融、政务、支付类场景,Forge在API安全上的投入是实打实的。
AI这块最容易被误解。很多人一看JeecgBoot的AI功能列表就觉得很全,但你要看AI是"贴上去的"还是"长进去的"。
JeecgBoot的AI覆盖很广:AI对话助手、知识库、流程编排、AI建表、AI写作,Skills矩阵很丰富。但本质上是功能层面的叠加——AI是一个独立模块,帮你做一些事情。
Forge Admin的AI是深度嵌入核心流程的:
| 对比维度 | JeecgBoot | Forge Admin |
|---|---|---|
| AI定位 | 功能模块叠加 | 核心流程嵌入 |
| AI供应商 | DeepSeek/通义千问/ChatGPT等 | OpenAI/DeepSeek/Ollama等多供应商统一接入 |
| AI+低代码 | AI辅助描述需求 | AI直接生成crudConfig JSON驱动页面 |
| AI+大屏 | AI辅助设计 | AI生成大屏配置,独立子项目 |
| 工程化 | — | 熔断器+客户端缓存+流式输出 |
Forge的AI不做"聊天助手"这种外围功能。它做的是:你用自然语言描述需求→AI生成低代码配置JSON→运行时引擎直接渲染页面。AI不是帮你"加速开发",AI本身就是开发流程的一环。
另外Forge的AI集成有完整的工程化考虑:多供应商统一接入接口、熔断器防止AI服务挂了拖垮系统、客户端缓存减少重复调用、流式输出优化体验。
简单说:JeecgBoot的AI是全(覆盖面广),Forge的AI是深(嵌入核心链路)。
别和稀泥,直接给结论:
选JeecgBoot,如果你:
选Forge Admin,如果你:
一句话总结:JeecgBoot是流程驱动的全能选手,Forge Admin是协议驱动的深度玩家。一个做广度,一个做深度。
你正在用什么后台框架?评论区聊聊你的选型经历,踩过哪些坑。
项目地址:
Forge Admin:
JeecgBoot: