框架横评第 1 期。星标多不等于适合你——建表方式、权限模型、多租户、代码生成、API 安全,逐项打分,文末给结论。
选后台框架,90% 的人第一眼看 star 数。但 star 高 ≠ 适合你——
若依将近 30k star,多租户却要自己改几十个 Mapper;JeecgBoot 低代码强,但生成的代码耦合度高、要手工合并;芋道文档全、双前端,但生态偏中小项目。
这篇把 4 个主流 Java 后台框架放一起,用 5 个维度打分,看完直接做决策。
打分前提:本次偏重 SaaS / 企业级场景。如果你只做内部 CRUD、不需要多租户和接口安全,若依依然是最快的选择,别被分数带偏。
| 维度 | 若依 | JeecgBoot | 芋道 | Forge |
|---|---|---|---|---|
| 1. 建表方式 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐½ |
| 2. 权限模型 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐½ |
| 3. 多租户 | ⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 4. 代码生成 | ⭐⭐⭐½ | ⭐⭐⭐⭐½ | ⭐⭐⭐½ | ⭐⭐⭐⭐ |
| 5. API 安全 | ⭐⭐ | ⭐⭐½ | ⭐⭐⭐ | ⭐⭐⭐⭐½ |
| 合计 | 12.5 | 19 | 17.5 | 22.5 |
分数仅供参考,每个维度的点评比数字更重要。下面逐项拆。
| 框架 | 建表方式 | 点评 |
|---|---|---|
| 若依 | 代码生成器导入表结构 | 经典方案,稳。但表结构得先在数据库建好 |
| JeecgBoot | Online 表单在线配置建表 | 强项。浏览器里配字段直接生成表,不碰 SQL |
| 芋道 | 代码生成器 + ER 图 | 标准模板生成,够用但不惊艳 |
| Forge | AI 生成 + ModelDesigner 在线设计 + 代码生成 | 三条路可选,AI 描述需求直接出模型 |
JeecgBoot 拿满分的理由:在线建表是它打磨最久的能力,配完字段一键生成表和代码,对不会写 SQL 的人极友好。
Forge 的差异:除了常规代码生成,还有浏览器端 ModelDesigner 设计数据模型,以及 AI 自然语言生成模型。但在线建表的成熟度不如 Jeecg,所以 4.5 分。
选型提示:低代码建表是核心诉求 → JeecgBoot 最成熟;想要 AI 辅助 → Forge 有额外的一条路。
| 框架 | 权限实现 | 数据权限颗粒度 |
|---|---|---|
| 若依 | Spring Security + @PreAuthorize |
注解级,数据权限较粗 |
| JeecgBoot | Shiro/Security + RBAC | 行级 / 列级 / 字段级 |
| 芋道 | 自研 + @DataPermission 注解 |
注解驱动,灵活 |
| Forge | Sa-Token + RBAC | 7 种 DataScopeType + Mapper 层 SQL 改写 |
这块 JeecgBoot 和 Forge 都很强,但思路不同。
JeecgBoot 胜在颗粒度细:行、列、字段三级都能控,常规企业后台绰绰有余。
Forge 胜在实现层:它不在 Service 层加过滤条件,而是用 JSqlParser 直接在 Mapper 层的 XML SQL 上改写 WHERE 子句。好处是——无论你怎么写 SQL,权限都绕不过去。还内置了 7 种数据范围(全部 / 本人 / 本组织 / 组织及子组织 / 自定义 / 租户全部 / 行政区划),政府项目常见的行政区划权限原生支持。
若依这块最弱,数据权限基本靠开发者自己在 SQL 里拼,没有统一机制。
选型提示:常规数据权限 → Jeecg / 芋道够用;涉及行政区划、要求 SQL 层强隔离 → Forge。
这一维度,4 个框架拉开了真正的差距。
| 框架 | 多租户 | 痛点 |
|---|---|---|
| 若依 | ❌ 原生不支持,需自研 | 这是最多人踩的坑 |
| JeecgBoot | ✅ 平台级 SAAS 支持 | 基本可用 |
| 芋道 | ✅ 支持,租户隔离 | 中规中矩 |
| Forge | ✅ SQL 层注入 + 五级忽略策略 | 深度集成 |
若依为什么只有 1 分:它原生的 RBAC 根本没有"租户"概念。你得多租户,就得自己写拦截器、手动给每一个查询 SQL 加 where tenant_id = ?。改到第 30 个 Mapper 时手指会抖——这是我亲历的坑,也是《用了 3 个月若依后换到 Forge Admin》那篇的素材来源。
Forge 为什么拿满分:多租户不是"支持",而是"渗透到每一行 SQL"。MyBatis-Plus 插件自动注入 tenant_id,但真正解决工程痛点的是它的五级忽略策略:
| 优先级 | 策略 | 解决什么问题 |
|---|---|---|
| 1 | 上下文标记 | 运行时动态切换 |
| 2 | 配置白名单 | 17 张系统表自动忽略 |
| 3 | 手动注册 | 代码级临时加忽略 |
| 4 | 自动扫描 | 引入无 tenant_id 的第三方表不报错 |
| 5 | 注解驱动 | @IgnoreTenant + 切面 |
第 4 级最实用:你引个第三方表,表里没 tenant_id 字段,Forge 自动跳过注入;Jeecg / 芋道需要你手动配置忽略,漏配就报错。
选型提示:做 SaaS、要卖给多个企业 → 若依直接劝退;Jeecg / 芋道够用但需要手动维护忽略表;Forge 最省心。
| 框架 | 生成方式 | 产物 | 二次开发 |
|---|---|---|---|
| 若依 | 模板生成 | Controller/Service/Mapper/Vue 全套 | 直接改 |
| JeecgBoot | 在线配置一键生成 | 全套前后端代码 | 需手工 Merge |
| 芋道 | 模板生成 | 全套代码 | 直接改 |
| Forge | AI 生成配置 + 模板渲染 | 规范代码包 + AI 配置 JSON | 下载即用 |
JeecgBoot 这维最强:代码生成器是它的看家本领,在线配好表结构,一键生成前后端全套代码直接可用。扣的 0.5 分在于:生成后要手工 Merge 到项目,改完再生成要处理冲突。
Forge 的路线不同:AI 生成的不是代码,而是一个配置 JSON(AiCrudConfig),再用 Velocity 模板渲染成规范代码包下载。一句话区分——
JeecgBoot 是"AI 帮你把代码写好",Forge 是"AI 帮你把配置写好,模板帮你把代码写好"。
Forge 代码结构更统一可控(模板保证规范),但成熟度和生成广度不如 JeecgBoot,所以 4 分,Jeecg 4.5 分。这是 Forge 我愿意诚实承认的短板。
选型提示:短期项目快速出活 → JeecgBoot 代码生成最快;长期产品要代码统一可控 → Forge 模板渲染更稳。
这一维度差距大得有点意外。
| 框架 | 认证 | 接口加解密 | 幂等 | 防重放 |
|---|---|---|---|---|
| 若依 | Security + JWT | ❌ | ❌ | ❌ |
| JeecgBoot | Shiro/Security | ❌ | ❌ | ❌ |
| 芋道 | 自研 Token | ❌ | ❌ | ❌ |
| Forge | Sa-Token | ✅ RSA+SM4/AES | ✅ 三策略 | ✅ nonce |
若依、Jeecg、芋道在这维基本是"裸奔":认证授权做了,但接口加解密、防重放、分布式幂等都没有开箱即用方案,要自己写。
Forge 在 API 安全上是实打实地堆料:
选型提示:做金融 / 政务 / 支付类高安全场景 → Forge 在这维几乎没有对手;一般企业后台 → 谁都够用。
横评不列短板就是软文。每个框架的硬伤:
| 框架 | 短板 |
|---|---|
| 若依 | 多租户缺失、API 安全裸奔、数据权限粗 |
| JeecgBoot | 代码手工 Merge 烦、多租户隔离不够深、接口安全弱 |
| 芋道 | 生态偏中小项目、企业级能力(多租户/安全)深度一般 |
| Forge | 社区和文档不如前三个成熟、教程少、新手部署有门槛 |
Forge 的短板我也写在这里——这是实情。如果你是新手、希望满网找教程,现阶段若依 / Jeecg 的社区资源确实更多。Forge 更适合愿意读文档、做长期产品的团队。
别和稀泥,直接说:
选若依,如果你:
选 JeecgBoot,如果你:
选芋道,如果你:
选 Forge Admin,如果你:
一句话:若依赢在生态、Jeecg 赢在低代码广度、芋道赢在均衡、Forge 赢在企业级深度。没有最好,只有最合适。
这篇是横评第 1 期,只看"选型"。第 2 期我会拆源码:对比 4 个框架的多租户拦截器实现,看 Forge 的五级忽略策略到底怎么落地、Jeecg 的 SAAS 多租户漏配会出什么问题。
想先看哪个框架的源码拆解?评论区扣:1 若依 / 2 Jeecg / 3 芋道 / 4 Forge,票最高的我先拆。
项目地址:
Forge Admin
若依:https://gitee.com/y_project/RuoYi-Vue JeecgBoot:http://jeecg.com 芋道:https://doc.iocoder.cn/
你正在用哪个后台框架?踩过最大的坑是什么?评论区聊聊,我会挨个回复。觉得有用求个👍收藏,横评系列持续更新。