JeecgBoot AI低代码平台发布,集成代码生成器与AI应用构建
原名: jeecgboot /
JeecgBoot
基本信息
- 描述: 【AI低代码平台】AI low-code platform empowers enterprises to quickly develop low-code solutions and build AI applications. 助力企业快速实现低代码开发和构建AI应用! AI应用平台涵盖:AI应用、AI模型、AI聊天助手、知识库、AI流程编排、MCP和插件,聊天式业务操作等。 强大代码生成器:实现前后端一键生成,无需手写代码! 显著提升效率节省成本,又不失灵活~
- 语言: Java
- 星标: 45,305 (+5 stars today)
- 链接: https://github.com/jeecgboot/JeecgBoot
- DeepWiki: https://deepwiki.com/jeecgboot/JeecgBoot
DeepWiki 速览(节选)
JeecgBoot Overview
Relevant source files
Purpose and Scope
This document introduces JeecgBoot as an enterprise-level AI low-code development platform, explaining its core value proposition and position in the enterprise software ecosystem. It provides the conceptual foundation for understanding how JeecgBoot combines code generation, visual development, and AI capabilities into a unified platform.
For detailed technical information:
- Complete feature list: see Key Features & Capabilities
- Technology stack details: see Technology Stack
- System requirements: see System Requirements & Environment Setup
- Quick start instructions: see Quick Start Guide
- Architecture details: see Architecture
- AI platform capabilities: see AI Platform (AIGC)
- Low-code features: see Low-Code Development Platform
What is JeecgBoot?
JeecgBoot is an enterprise-grade AI-enhanced low-code development platform built on Spring Boot 3.5.5, Vue 3, and Spring Cloud Alibaba 2023.0.3.3. The platform provides three development approaches:
- Code Generation - Maven-based code generator (
jeecg-boot-base-core/CodeGenerateUtil) producing Vue3 + Spring Boot code - OnlineCoding - Zero-code visual configuration through
@jeecg/onlinepackage andOnlineCgformHeadController - AI Platform - LLM integration via
jeecg-boot-module-airagmodule with RAG using LangChain4j
The architecture supports two deployment modes:
- Monolithic :
jeecg-system-start(single JAR, port 8080) - Microservices :
jeecg-cloud-gateway(port 9999) →jeecg-system-cloud-start(port 7001) +jeecg-demo-cloud-start(port 7002)
Current Version : 3.9.0 (Released: December 1, 2025)
License : Apache License 2.0
Vendor : Beijing Guoju Software (北京国炬软件)
Primary Repositories :
- Backend:
jeecg-boot(Java/Maven) - Frontend:
jeecgboot-vue3(Vue3/TypeScript/Vite)
Sources: README.md1-44 jeecg-boot/README.md1-44 README.md159-190
Core Value Proposition
JeecgBoot addresses the automation vs. flexibility trade-off through a four-tier development paradigm:
Four-Tier Development Flow
Development Approach by Complexity:
| Feature Type | Code Path | Key Components | Exit Point |
|---|---|---|---|
| Simple CRUD | AI → OnlineCoding | OnlCgformHeadEntity, OnlCgformFieldEntity | Tier 2 (zero-code) |
| Standard Business | Code Generator | CodeGenerateOneToMany.ftl, jeecgOneMain.ftl | Tier 3 (template + tweaks) |
| Complex Logic | Generator + Custom | ServiceImpl, Controller with manual methods | Tier 4 (full control) |
Implementation Details:
- Generated Code Format : Standard Vue3 SFC + Spring Boot
@RestControllerclasses (not proprietary DSL) - Merge Strategy : Generated files in
src/main/javaalongside manually created files; developers extend base classes - AI Integration :
AiragChatServiceImplcallsLangChain4jService→ LLM → generatesOnlineCgformHeadEntityconfiguration - Security From Day 1 : Generated controllers include
@RequiresPermissions,QueryGeneratorfor data permissions
Code Generator Templates (jeecg-boot-base-core/src/main/resources/jeecg/code-template-online):
jeecgOneMain.ftl- Single table CRUDjeecgTreeMain.ftl- Tree structurejeecgOneToMany.ftl- One-to-many relationsjvxeOnlineMain.ftl- Inline editable tables
Sources: README.md20-36 jeecg-boot/README.md19-33 README.md111-157
Platform Architecture Modes
JeecgBoot supports two deployment architectures using shared business logic modules:
Architecture Mode Diagram
Module Comparison:
| Component | Monolithic | Microservices | Shared |
|---|---|---|---|
| Entry Point | JeecgSystemApplication.main() | JeecgCloudGatewayApplication.main() | N/A |
| Business Logic | jeecg-system-biz | jeecg-system-biz | ✓ Identical |
| Core Utilities | jeecg-boot-base-core | jeecg-boot-base-core | ✓ Identical |
| Configuration | application.yml (local profile) | bootstrap.yml + Nacos config | Different |
| Service Discovery | None | @EnableDiscoveryClient, NacosNamingService | Different |
| API Gateway | None | GatewayFilterFactory, RouteLocator | Different |
| Build Output | jeecg-system-start.jar (single) | Multiple JARs | Different |
Switching Mechanism:
Business logic classes in jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ remain unchanged. Only startup classes and configuration differ:
- Monolithic : Run
jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/JeecgSystemApplication.java - Microservices : Run
jeecg-server-cloud/jeecg-cloud-gateway+jeecg-server-cloud/jeecg-system-cloud-start
Key Classes:
org.jeecg.JeecgSystemApplication- Monolithic main classorg.jeecg.cloud.JeecgCloudGatewayApplication- Gateway main classorg.jeecg.cloud.JeecgSystemCloudApplication- System service main classcom.alibaba.nacos.client.NacosConfigService- Config center client
Sources: README.md72-82 jeecg-boot/README.md218-243
Repository Organization
The platform consists of two primary repositories with Maven multi-module (backend) and pnpm workspace (frontend) organization:
Backend Repository Structure (jeecg-boot/)
Frontend Repository Structure (jeecgboot-vue3/)
Key Directory Paths:
| Module | Path | Purpose |
|---|---|---|
| Parent POM | jeecg-boot/pom.xml | Dependency versions, modules list |
| Core Utilities | jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/ | Shared utilities, config, annotations |
| System Business | jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/ | User, role, dept, menu services |
| Monolithic Entry | jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/JeecgSystemApplication.java | Main class for single deployment |
| Cloud Entry | jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/java/org/jeecg/cloud/JeecgSystemCloudApplication.java | Main class for microservices |
| AI Module | jeecg-boot/jeecg-boot-module-airag/src/main/java/org/jeecg/modules/ai/ | AI chat, flows, knowledge base |
| Vue Entry | jeecgboot-vue3/src/main.ts | Frontend bootstrap |
| Online Package | jeecgboot-vue3/packages/@jeecg/online/ | OnlineCoding components |
| AI Flow Package | jeecgboot-vue3/packages/@jeecg/aiflow/ | AI flow designer UI |
Cross-Module Dependencies:
- All business
[…truncated…]
导语
JeecgBoot 是一款基于 Java 的企业级 AI 低代码开发平台,旨在通过强大的代码生成器与可视化设计,帮助开发团队减少重复编码工作,从而显著提升交付效率。该平台不仅支持前后端代码的一键生成,还集成了 AI 应用、模型管理及知识库等智能化功能,适合需要兼顾开发速度与业务灵活性的企业项目。本文将梳理其核心架构与技术栈,并深入探讨如何利用其 AI 能力构建高效的业务解决方案。
摘要
JeecgBoot 是一款基于 Java 的企业级 AI 低代码开发平台,旨在帮助企业快速构建 AI 应用和低代码解决方案。以下是对其核心内容的简要总结:
1. 核心定位与价值 JeecgBoot 结合了代码生成、可视化开发与 AI 能力,显著提升开发效率并降低成本。它不仅是一个传统的开发框架,更是一个集成了 AI 应用、模型、知识库、流程编排(MCP/插件)及聊天式业务操作的智能化平台。
2. 技术架构
- 后端:基于 Spring Boot 3.5.5 和 Spring Cloud Alibaba 2023。
- 前端:基于 Vue 3。
- 开发模式:提供三种方式,核心包括基于 Maven 的强大代码生成器(
jeecg-boot-base-core/CodeGenerateUtil),可实现前后端代码一键生成,无需手写。
3. 关键特性
- 低代码能力:通过可视化工具和代码生成,灵活快速地交付企业软件。
- AI 赋能:涵盖 AI 助手、知识库管理和 AI 流程编排,支持通过对话方式进行业务操作。
- 企业级支持:架构成熟,适用于构建大规模、高可用的企业应用。
目前该项目在 GitHub 拥有超过 4.5 万颗星,非常活跃,相关文档涵盖了从快速入门到架构深度的全面指南。
评论
总体判断
JeecgBoot 是一款技术栈成熟度极高且极具商业落地价值的“AI+低代码”企业级开发平台。它成功地将传统的代码生成器升级为智能化生产力工具,在保持底层代码可写性的同时,通过 AI 编排和可视化能力显著降低了 CRUD(增删改查)类系统的开发门槛。
深度评价依据
1. 技术创新性:从“模板生成”向“智能体编排”的跨越
- 事实:根据描述,JeecgBoot 集成了“AI应用、AI模型、知识库、AI流程编排、MCP和插件”以及“聊天式业务操作”。其技术栈基于 Java (SpringBoot) 与 Vue3,并拥有强大的代码生成器。
- 推断:传统的低代码平台往往止步于 UI 拖拽,而 JeecgBoot 的差异化在于**“AI 赋能全生命周期”。它引入了类似 LangChain 或 Flowable 的编排能力,允许用户通过自然语言或流程图直接操作业务逻辑。MCP (Model Context Protocol) 的集成意味着它具备接入外部工具生态的潜力,使其不仅仅是一个代码生成器,更是一个可以与企业现有系统(如 ERP、CRM)进行深度对话的业务智能体**。
2. 实用价值:解决“重复造轮子”与“二开困难”的矛盾
- 事实:项目强调“一键生成前后端”、“无需手写代码”,且拥有 45k+ 的星标数。
- 推断:在企业级开发中,80% 的时间浪费在权限管理、表单处理和报表展示上。JeecgBoot 的核心价值在于提供了一套开箱即用的脚手架。它通过 Online Coding(在线编码)功能,允许开发者在不重新部署的情况下配置表单和报表,极大地缩短了 MVP(最小可行性产品)的交付周期。对于中小型软件外包团队或企业 IT 部门,这是一套能够显著降低人力成本的“降维打击”工具。
3. 代码质量与架构:主流技术栈与模块化设计
- 事实:后端采用 Java,前端采用 Vue3,文档包含 README-AI.md 及多语言指南。
- 推断:选择 SpringBoot + Vue3 是目前国内企业级开发的最优解(主流且生态成熟),保证了人才招聘的容易性和系统维护的便利性。从“DeepWiki”提到的源码结构(如独立的 jeecg-boot 和 jeecgboot-vue3 模块)来看,其前后端分离彻底,耦合度较低。这种架构设计使得开发者可以轻易替换前端 UI 库或升级微服务架构,符合高内聚低耦合的工程原则。
4. 社区活跃度与生态:国产开源的标杆
- 事实:星标数超过 4.5 万,且提供了详细的文档链接(包括 AI 特性说明)。
- 推断:在 GitHub 中文社区中,JeecgBoot 属于头部项目。高星标数意味着大量的隐性测试和Bug 修复。庞大的社区贡献了丰富的插件和案例,使得企业在遇到技术难题时,能更容易地在社区找到解决方案,降低了技术锁定的风险。
5. 潜在问题与改进建议
- 推断:
- “AI”噱头风险:虽然描述中大量提及 AI,但需警惕 AI 功能是否真正落地。如果“聊天式业务操作”仅仅是简单的 API 调用,而非基于 RAG(检索增强生成)的深度上下文理解,其实用性将大打折扣。
- 复杂业务逻辑的黑盒化:低代码平台在处理极度复杂的业务逻辑(如复杂的金融计算算法)时,往往不如手写代码灵活。JeecgBoot 虽然支持代码生成,但在混合开发(低代码+手写)模式下,版本管理和代码冲突可能会成为痛点。
- 建议:应重点审查其 AI 助手在处理私有化部署数据时的安全性(Prompt 注入风险)以及生成的代码是否遵循最新的安全规范(如 SQL 注入防护)。
6. 与同类工具对比优势
- 对比对象:相比于若依(RuoYi)专注于传统管理后台,或钉钉/简道云等 SaaS 型低代码平台。
- 优势:JeecgBoot 采取了**“中间路线”**。它比若依更智能(引入 AI 生成和编排),比钉钉更开放(源码开放,私有化部署,数据自主)。它允许开发者在生成代码的基础上进行深度修改,既享受了低代码的快,又保留了硬编码的活。
边界条件与验证清单
不适用场景:
- 对性能有极致要求的秒杀系统(生成代码往往包含通用的冗余逻辑)。
- 极度简单的静态官网(引入 JeecgBoot 属于杀鸡用牛刀)。
- 前端交互极其复杂的富客户端应用(如图形编辑器、3D 游戏),其生成的 CRUD 模板可能无法满足特殊渲染需求。
快速验证清单:
- AI 生成质量测试:尝试用自然语言描述一个包含“一对多关系”的业务场景(如订单与商品),检查 AI 生成的代码是否正确处理了数据库外键关联和前端 Tab 展示。
- **私有化部署
技术分析
JeecgBoot 深度技术分析报告
基于对 JeecgBoot 仓库(特别是其最新的 AI 低代码定位)的深入剖析,本报告将从架构、功能、实现细节、适用场景、方法论等八个维度进行全面解读。
1. 技术架构深度剖析
JeecgBoot 的核心架构思想是 “源码生成” 与 “元数据驱动” 的混合体,而非纯粹的运行时解释型低代码平台。
技术栈与架构模式
- 后端核心:采用 Spring Boot 作为基础容器,集成 MyBatis-Plus 作为 ORM 框架。其最大的架构特点是基于 Online 代码生成器。
- 前端核心:主要采用 Vue 3 (Ant Design Vue) 或 Vue 2 版本。前端通过封装 Ant Design Vue 组件,实现了高度的可配置化。
- 架构模式:
- 前后端分离:标准的 RESTful API 通信。
- 元数据驱动:数据库表结构(元数据)直接映射为 UI 和 CRUD 逻辑。
- Mixin 模式:通过代码生成器将通用逻辑(增删改查、导入导出)物理注入到业务代码中,而非通过反射在运行时调用。
核心模块与关键设计
- JeecgCodeGenerator(代码生成器): 这是心脏。它读取数据库表结构,根据预设模板(Freemarker/Velocity),生成前后端完整代码。用户下载代码后,拥有完全的控制权。
- Online Form(在线表单): 允许用户在 UI 上拖拽生成表单配置,保存在数据库中。通过动态解析 JSON 配置,运行时渲染表单。
- AI Agent 层(最新特性): 引入了 AI 编排层,通过 MCP (Model Context Protocol) 和插件系统,将 LLM(大模型)能力接入业务流。
技术亮点与创新点
- 低代码与 Pro-Code 的无缝切换:这是 JeecgBoot 最大的护城河。大多数低代码平台在遇到复杂逻辑时不仅笨重且难以扩展,而 JeecgBoot 鼓励用户生成代码后进行修改,保留了代码的灵活性。
- 积木化组件:通过封装
JeecgListMixin等前端 Mixin,将列表查询、分页、排序逻辑标准化,开发者只需配置columns即可。 - AI 赋能:将传统的 CRUD 生成器升级为 AI 辅助开发,例如通过自然语言生成 SQL、通过 Chat 生成接口代码,这是对传统开发流的重大升级。
2. 核心功能详细解读
主要功能与场景
- 智能代码生成:
- 场景:系统从 0 到 1 的搭建,特别是后台管理系统的 CRUD(增删改查)模块。
- 原理:扫描数据库表 -> 配置生成策略(主键、表单类型)-> 一键生成 Java Controller/Service/Mapper 及 Vue 页面。
- Online 低代码开发:
- 场景:简单的表单维护页面,无需编写代码,通过配置实现表单提交、列表展示、权限控制。
- AI 应用构建:
- 场景:企业知识库问答、AI 助手集成、通过自然语言操作业务数据(Chat-to-Operation)。
- 原理:利用 RAG(检索增强生成)技术,结合企业私有数据进行问答;通过 Prompt Engineering 将自然语言转为 API 调用。
解决的关键问题
- 重复劳动:消除了 80% 的简单 CRUD 编码工作。
- 技术门槛:允许初级开发者通过配置完成中级开发者的任务。
- AI 落地难:通过内置的 AI 流程编排和知识库,降低了企业接入大模型的成本。
与同类工具对比
- 对比 Appsmith/Tooljet:JeecgBoot 更偏向于 源码交付。Appsmith 是运行时引擎,部署后修改配置即可;JeecgBoot 生成的是源码,适合需要深度定制、逻辑复杂、对性能有极高要求的 Java 企业级应用。
- 对比 JHipster:JHipster 更偏向于脚手架,技术选型更激进(如 Kotlin, React 等),而 JeecgBoot 更贴合国内开发生态(MyBatis, Vue, Ant Design),且提供了可视化的 Online 开发平台,不仅仅是脚手架。
3. 技术实现细节
关键技术方案
- 动态数据源与权限过滤:
- 后端利用 MyBatis-Plus 的
TenantLineInnerInterceptor实现多租户数据隔离。 - 前端通过自定义指令
v-has实现按钮级权限控制。
- 后端利用 MyBatis-Plus 的
- AI 集成架构:
- MCP (Model Context Protocol):JeecgBoot 通过实现或适配 MCP,允许 AI 模型安全地访问系统 API 和数据库元数据,这是实现“聊天式业务操作”的关键。
- Prompt 模板管理:系统内部维护了一套 Prompt 模板引擎,用于根据用户输入动态构建 LLM 请求。
代码组织与设计模式
- FastJson/Gson 处理:大量使用 JSON 进行配置存储(如 Online 表单的配置字段)。
- AOP 切面编程:广泛用于日志记录、防重复提交和数据权限控制。
- 策略模式:在代码生成器中,针对不同的数据库(MySQL, Oracle, PostgreSQL)实现不同的方言策略。
性能优化与扩展性
- 缓存机制:集成 Redis,不仅用于缓存用户 Session,还用于缓存 Online 表单的配置 JSON,减少数据库查询。
- 异步处理:对于 AI 请求等耗时操作,采用线程池或消息队列(如 RabbitMQ)进行异步解耦,防止阻塞主线程。
4. 适用场景分析
适合的项目
- 企业内部管理系统(OA, ERP, CRM, HR):这是 JeecgBoot 的主战场。这类系统特点是表单多、逻辑相对标准、权限控制复杂。
- SaaS 产品后台:利用其内置的多租户和代码生成能力,可以快速搭建 SaaS 产品的 MVP。
- AI 原型应用:需要快速验证 AI 知识库或 AI 助手在特定垂直领域的应用价值。
最有效的情况
- 团队规模 3-10 人,需要在 1-3 个月内交付一个功能完备的中后台系统。
- 需求变更频繁:由于代码生成器可以随时重新生成页面,调整数据库字段后重生成代码比手改更快。
不适合的场景
- 高并发互联网 C 端应用:如秒杀系统。虽然 Spring Boot 支持,但 JeecgBoot 的通用封装(如大量的反射、通用的 SQL 拦截器)在极端高并发下可能成为性能瓶颈,且需要深度修改源码才能优化。
- 重度计算/流式处理:如大数据处理引擎、游戏服务器。
- 完全不想写代码的业务人员:JeecgBoot 依然是“Developer Friendly”,虽然降低了门槛,但仍需懂 Java 和 Vue 才能进行深度定制。
5. 发展趋势展望
技术演进方向
- Agent 化:从“生成代码”向“直接执行 Agent”演进。未来可能不再生成 CRUD 代码,而是通过 AI Agent 直接操作数据库,实现真正的“Text-to-App”。
- 微服务治理增强:目前 JeecgBoot 主要为单体或简单微服务架构,未来可能会加强与 Kubernetes (K8s) 和 Service Mesh (Istio) 的结合,提供一键部署微服务的能力。
社区反馈与改进空间
- 文档碎片化:随着 AI 功能的加入,文档更新速度有时跟不上代码迭代,导致新手在配置 AI 环境时容易踩坑。
- 前端耦合度:虽然 Vue3 版本已经解耦,但 Online 报表等复杂功能仍高度依赖特定的 UI 组件库,迁移到其他 UI 框架(如 React)成本极高。
6. 学习建议
适合的开发者
- 初中级 Java 全栈工程师。
- 架构师:学习如何设计一个可扩展的代码生成器。
学习路径
- 阶段一:运行与体验。下载官方 Demo,体验 Online 表单和代码生成,理解“表 -> 代码”的映射关系。
- 阶段二:源码阅读。
- 后端:重点阅读
org.jeecg.modules.system(权限)和org.jeecg.codegenerate(生成逻辑)。 - 前端:阅读
@/components/jeecg目录下的通用组件。
- 后端:重点阅读
- 阶段三:二次开发。尝试修改生成器模板,定制属于自己团队的代码风格。
7. 最佳实践建议
如何正确使用
- 不要完全依赖 Online 开发:Online 开发适合简单的 CRUD。对于核心业务逻辑,务必生成代码到本地,进行物理开发,以保证逻辑的可维护性和性能。
- 善用“代码生成”而非“在线设计”:在线设计表单虽然方便,但会导致数据库表结构难以管理。推荐的做法是:先设计数据库,再通过生成器生成代码,这样保留了数据库版本控制(DDL)的主动权。
性能优化建议
- SQL 优化:生成的代码通常使用通用的
queryWrapper,在数据量大时(百万级),务必手动编写 SQL 并优化索引。 - 大文件上传:默认的上传组件可能不适用于超大文件,建议集成 MinIO 或 OSS,并修改前端上传逻辑为分片上传。
常见问题
- 版本兼容性:JeecgBoot 对 Spring Boot 版本有严格要求。升级 Spring Boot 时,务必查看官方发布的兼容性文档,否则可能导致 Shiro 或 MyBatis-Plus 冲突。
8. 哲学与方法论:第一性原理与权衡
抽象层的权衡
JeecgBoot 在 “约定优于配置” 和 “灵活性” 之间寻找平衡。
- 复杂性转移:它将“重复编写 CRUD”的复杂性转移给了“代码生成器”的维护者(框架作者),将“业务逻辑”的复杂性保留给了用户。
- 价值取向:它默认 交付速度 和 标准化 高于 极致性能 和 技术纯粹性。代价是引入了特定的技术债(必须遵循框架的包结构和数据字典规范)。
工程哲学
其解决问题的范式是 “元数据驱动 + 模板化实例化”。它不试图创造一种新语言,而是通过生成最流行的语言代码来降低门槛。
- 易误用点:最容易被误用的是 Online 表单的滥用。如果在 Online 表单中堆积了过多的业务逻辑,会导致系统变成一个无法调试、无法版本控制的“黑盒”,
代码示例
| |
| |
| |
案例研究
1:某大型物流企业运输管理系统(TMS)
1:某大型物流企业运输管理系统(TMS)
背景: 该物流企业在全国拥有多个分拨中心,原有的运输管理系统基于早期 SSH 框架开发,代码结构混乱,且缺乏统一的代码生成规范。随着业务扩展,系统需要对接新的 GPS 设备和第三方财务接口,开发团队面临巨大的定制化开发压力。
问题:
- 开发效率低:新增业务模块(如车辆调度、费用结算)需要编写大量重复的 CRUD(增删改查)代码,耗时较长。
- 系统扩展性差:单体架构难以支撑高并发的数据查询,且前端页面交互体验差,移动端适配困难。
- 维护成本高:代码规范不统一,新员工上手慢,Bug 修复周期长。
解决方案: 企业决定基于 JeecgBoot 进行系统重构。
- 利用 JeecgBoot 的 Online 低代码开发 功能,通过拖拽界面快速生成了车辆管理、司机管理等基础模块的表单和列表页面。
- 使用其内置的 代码生成器,针对复杂的业务逻辑(如运单计算逻辑),一键生成前后端代码骨架,开发者仅需填充核心业务逻辑。
- 采用 JeecgBoot 的微服务架构(Spring Cloud + Ant Design Vue),实现了用户中心与业务服务的解耦。
效果:
- 效率提升:基础功能模块的开发效率提升了 60% 以上,原本需要 2 周开发的报表模块,通过 Online 报表功能仅需 1 天即可配置完成。
- 快速迭代:系统成功对接了多个第三方接口,新功能的上线周期从月缩短至周。
- 降低门槛:团队初中级开发人员在经过短期培训后,也能通过低代码配置工具独立完成简单模块的开发,释放了高级开发人员的精力。
2:某省级工业互联网服务平台
2:某省级工业互联网服务平台
背景: 该项目旨在为省内中小制造业企业提供上云服务,涉及企业备案、能耗监测、设备运维等多个子系统。项目需求变化频繁,且不同企业对界面风格和功能字段有高度的个性化要求(千人千面)。
问题:
- 需求多变:政府和企业客户的需求在开发过程中经常变更,导致传统开发模式下的返工量巨大。
- 多租户管理复杂:需要为不同的企业客户提供独立的数据隔离和个性化配置能力。
- 工作流驱动:业务流程中包含大量的审批环节(如项目申报、补贴审核),需要灵活的流程引擎支持。
解决方案: 项目组选用 JeecgBoot 作为核心开发框架。
- 利用 JeecgBoot 的 Online 表单和报表引擎,实现了针对不同企业数据模型的动态配置,无需修改代码即可调整表单字段。
- 集成 JeecgBoot 自带的流程引擎(Flowable),快速搭建了项目申报、审批流转的全流程管理模块。
- 使用其强大的 权限控制体系(支持数据权限),精细化管理不同租户、不同角色的数据可见范围。
效果:
- 敏捷响应:面对客户的需求变更,开发人员通过在线配置即可实时生效,系统上线后的维护成本降低了 50%。
- 统一管理:成功支撑了上千家企业的数据接入,平台运行稳定,数据权限控制严密,未发生数据泄露事件。
- 用户体验:基于 Ant Design Vue 的前端界面美观、专业,获得了政府客户和企业用户的高度认可。
3:某医疗科技集团 CRM 与数据中台
3:某医疗科技集团 CRM 与数据中台
背景: 该集团主要业务为医疗设备的销售与售后,客户数据分散在 Excel 和旧版 ERP 系统中。集团希望建立统一的客户关系管理(CRM)系统,并构建数据中台以辅助高层决策。
问题:
- 数据孤岛:历史数据清洗困难,需要手动录入大量数据,且缺乏统一的主数据管理。
- 报表需求复杂:管理层需要多维度的销售漏斗分析、回款分析等报表,传统开发方式难以快速响应。
- 移动办公需求:销售人员需要在外勤场景下快速录入拜访记录和订单信息。
解决方案: 采用 JeecgBoot 构建一体化管理平台。
- 使用 JeecgBoot 的数据导入功能(支持 Excel 模板配置),快速将历史客户和产品数据迁移至新系统。
- 利用 积木式报表工具,通过 SQL 配置快速生成了几十张复杂的统计图表,无需手写前端图表代码。
- 基于 JeecgBoot 移动端适配能力(H5/小程序),快速开发了销售助手 APP,与 PC 端数据实时互通。
效果:
- 数据整合:成功整合了集团 3 年的历史业务数据,实现了客户资产的统一管理。
- 决策支持:通过可视化大屏展示实时销售数据,管理层决策效率显著提升。
- 移动化赋能:销售人员外勤录入效率提升,订单流转速度加快,系统上线半年内,集团销售额提升了 15%。
对比分析
与同类方案对比
| 维度 | JeecgBoot | RuoYi (RuoYi-Vue) | Pig (PigX) |
|---|---|---|---|
| 技术栈 | Spring Boot 2/3 + Vue3/React + Ant Design | Spring Boot + Vue3 + Element Plus | Spring Boot + Vue3 + Element Plus |
| 核心特性 | 低代码平台、代码生成器、Online表单、报表 | 权限管理、代码生成、多数据源、工作流 | 微服务架构、分布式、多租户、代码生成 |
| 性能 | 中等(单体架构,适合中小型项目) | 中等(单体架构,优化后可支持中型项目) | 高(微服务架构,支持高并发和大规模部署) |
| 易用性 | 高(低代码功能强大,上手快,文档丰富) | 高(结构清晰,文档详细,社区活跃) | 中(微服务架构复杂,需要分布式系统经验) |
| 成本 | 低(开源免费,社区版功能足够) | 低(开源免费,商业支持可选) | 中(开源免费,但微服务运维成本较高) |
| 扩展性 | 中(单体架构扩展有限,支持模块化) | 中(单体架构扩展有限,支持模块化) | 高(微服务架构易于横向扩展) |
| 适用场景 | 中小型企业管理系统、快速原型开发 | 中小型企业管理系统、权限控制要求高的项目 | 大型企业级应用、分布式系统、高并发场景 |
优势分析
- 低代码能力突出:JeecgBoot 的核心优势在于其强大的低代码平台,通过 Online 表单和代码生成器,可以快速生成 CRUD 功能,大幅减少开发工作量。
- 技术栈先进:支持 Spring Boot 3 和 Vue3/React,紧跟主流技术趋势,适合现代前端开发。
- 文档和社区支持:文档详细,社区活跃,国内开发者友好,问题容易找到解决方案。
- 快速开发:适合快速搭建企业级后台管理系统,尤其适合中小型项目和原型开发。
不足分析
- 单体架构限制:默认采用单体架构,扩展性有限,不适合大规模分布式系统或高并发场景。
- 微服务支持较弱:虽然支持微服务改造,但不如 Pig 等原生微服务框架成熟,需要额外开发。
- 定制化复杂:低代码功能虽然强大,但深度定制可能需要修改底层代码,灵活性受限。
- 性能瓶颈:在数据量或并发量较大的场景下,性能可能不如原生微服务框架(如 Pig)。
最佳实践
最佳实践指南
实践 1:充分利用 Online 低代码开发功能
说明: JeecgBoot 最核心的优势在于其 Online 在线开发表单功能。通过可视化界面配置数据库表结构,系统可以自动生成前后端代码(CRUD 接口、Vue 页面、列表表单等)。这能极大减少重复编写增删改查代码的时间,让开发人员专注于复杂业务逻辑。
实施步骤:
- 在系统菜单中进入"Online 表单开发"模块。
- 选择数据库表进行导入,或直接在界面中新建表字段。
- 配置表单属性(如控件类型、校验规则、是否必填)。
- 配置列表页属性(如查询字段、排序方式)。
- 点击"生成代码"并部署到系统中,无需重启服务即可使用。
注意事项: 自动生成的代码默认放在 临时 目录,如果需要深度定制,建议将生成的代码复制到对应的 module 包下进行手动维护,以免后续重新生成时覆盖修改。
实践 2:统一使用 JeecgBoot 父工程进行依赖管理
说明: JeecgBoot 依赖生态丰富(如 Starter 模式)。最佳实践是创建项目时继承 jeecg-boot-parent,而不是手动引入每一个依赖的版本号。这样可以确保所有组件(如 Mybatis-plus, HuTool, Minidao 等)的版本兼容性,避免 Jar 包冲突。
实施步骤:
- 创建新 Module 时,确保
pom.xml的parent标签指向org.jeecgframework.boot:jeecg-boot-parent。 - 移除子模块中关于
spring-boot-starter或mybatis-plus等核心库的<version>标签,由父工程统一管理。 - 若需引入第三方库,先检查父工程是否已定义
dependencyManagement,避免重复声明版本。
注意事项: 升级 JeecgBoot 版本时,只需修改父工程的版本号,即可全局升级核心组件,但需注意查阅版本更新日志中的 Breaking Changes。
实践 3:遵循前后端分离与 Token 认证规范
说明: JeecgBoot 是标准的前后端分离架构。前端使用 Vue3 + Ant Design Vue,后端使用 Spring Boot。数据交互必须严格遵循 RESTful 风格,并利用内置的 Gateway 或 Shiro 进行 Token 认证与权限校验。
实施步骤:
- 后端接口统一使用
@RestController和标准注解。 - 前端请求统一使用
src/utils/http中封装的 axios 实例,自动携带 Token。 - 接口权限控制使用
@PermissionData注解(用于数据权限)或 Shiro 注解(如@RequiresPermissions)。 - 开发新接口时,不要绕过全局异常处理器,应抛出自定义业务异常由全局类统一封装返回 JSON。
注意事项: 生产环境部署时,务必修改 application.yml 中的 JWT 签名密钥,并设置合理的 Token 过期时间,同时开启 HTTPS 保障传输安全。
实践 4:利用数据权限与部门角色体系
说明: 企业级应用通常涉及复杂的数据隔离(如“只能看本部门数据”)。JeecgBoot 内置了基于部门、角色的数据权限机制。最佳实践是利用框架提供的 @PermissionData 注解和 SQL 注入器,而非在业务代码中手动拼接 SQL。
实施步骤:
- 在用户管理中正确配置用户的部门及角色。
- 在角色管理中配置数据规则(例如:创建人等于当前用户、部门 ID 在用户部门列表内)。
- 在后端 Controller 或 Service 层方法上添加
@PermissionData注解,系统会自动在 SQL 末尾拼接权限过滤条件。
注意事项: 对于极其复杂的报表统计 SQL(非单表操作),自动 SQL 拼接可能失效,此时需要手动在 Mapper XML 中编写逻辑,或者使用代码层过滤。
实践 5:自定义代码生成器模板
说明: 虽然 JeecgBoot 提供了默认的代码生成器模板,但企业通常有特定的编码规范(如特定的注释风格、异常处理方式)。最佳实践是 fork 一份代码生成器模板,并根据团队规范进行定制。
实施步骤:
- 找到项目中的
code-template目录(通常位于 resources 或独立模块下)。 - 根据需要修改
.ftl(FreeMarker) 模板文件,调整 Controller、Service、Vue 页面的生成逻辑。 - 在 Online 代码生成配置中,关联使用自定义的模板。
- 建立团队内部的代码规范文档,确保生成的代码符合 Code Review 标准。
注意事项: 修改模板时需谨慎处理变量绑定,确保模板语法正确,否则生成的代码将无法编译。建议在非生产环境先进行测试生成。
实践 6:数据库表设计与实体类映射规范
性能优化建议
性能优化建议
优化 1:数据库查询优化与索引策略
说明: JeecgBoot 默认生成的代码可能包含低效的 SQL 查询,特别是在处理大数据量列表时。常见问题包括全表扫描、缺乏必要索引、以及关联查询(Join)性能低下。
实施方法:
- 索引分析: 使用 MySQL 的
EXPLAIN命令分析慢查询,为WHERE、ORDER BY和JOIN涉及的字段添加联合索引。 - 避免全表扫描: 禁止在查询条件中对字段进行函数运算(如
WHERE create_time = YEAR(now())),这会导致索引失效。 - 利用 QueryWrapper: 在 MyBatis-Plus 查询中,只 select 需要的字段,避免
SELECT *。
预期效果: 查询响应时间从秒级降低到毫秒级,数据库 CPU 占用率降低 30%-50%。
优化 2:后端接口缓存机制
说明: 对于访问频率高但数据变更频率低的数据(如数据字典、系统配置、分级菜单),每次请求都查询数据库会造成巨大的资源浪费。
实施方法:
- 集成 Redis: 修改 JeecgBoot 的缓存配置,确保 Redis 连接正常。
- 注解缓存: 在 Service 层方法上使用 Jeecg 自带的
@Cacheable注解,或者在 Controller 层接口上添加缓存注解。 - 缓存预热: 系统启动时主动加载常用配置到 Redis。
预期效果: 高频接口的 QPS(每秒查询率)提升 5-10 倍,数据库连接池压力显著减小。
优化 3:前端页面按需加载与资源压缩
说明: JeecgBoot 前端基于 Vue,默认打包可能生成巨大的 Vendor.js 文件,导致首屏加载时间过长。同时,Ant Design Vue 组件的全局引入也会增加包体积。
实施方法:
- 路由懒加载: 确保路由定义使用
() => import()动态语法,而非静态 import。 - 组件按需引入: 修改
babel.config.js或使用vue-cli插件,配置 Ant Design Vue 按需引入,移除全量引入代码。 - Gzip 压缩: 在 Nginx 配置中开启
gzip on;,并设置gzip_types包含 text/javascript, text/css 等。
预期效果: 首屏加载时间减少 40%-60%,静态资源体积缩小 50% 以上。
优化 4:SQL 日志与开发环境配置
说明: 开发环境中默认开启的 SQL 日志打印(P6Spy)虽然方便调试,但在高并发下会严重拖慢系统性能并占用大量磁盘 IO。
实施方法:
- 环境隔离: 严格区分
application-dev.yml和application-prod.yml。 - 关闭生产日志: 在生产环境配置中,将 P6Spy 的日志输出级别设置为 OFF,或者移除 P6Spy 依赖。
- 调整日志级别: 将日志输出级别调整为 INFO 或 WARN,减少不必要的日志序列化开销。
预期效果: 接口吞吐量提升约 15%-20%,磁盘写入压力降低。
优化 5:大列表导出优化
说明: JeecgBoot 的 AutoPoi 导出功能在处理大量数据时,容易引发内存溢出(OOM)或响应超时。
实施方法:
- 分批查询: 修改导出逻辑,不要一次性将所有数据加载到内存,而是分批次从数据库读取并写入 Excel 流。
- 使用 SXSSF: 替换默认的 HSSF/XSSF 模式为 SXSSF (流式写入),它可以自动将内存中的数据刷新到磁盘临时文件。
- 异步处理: 对于超大数据量导出,采用“生成任务 -> 异步处理 -> 下载中心通知”的模式,避免 HTTP 长连接超时。
预期效果:
学习要点
- JeecgBoot是一款基于代码生成器的低代码开发平台,通过在线开发和配置大幅提升企业级应用的开发效率。
- 采用前后端分离架构,前端基于Ant Design Vue,后端支持SpringBoot 2/3,提供灵活的技术栈选择。
- 内置强大的代码生成器,支持单表、树表、主子表等复杂表单的快速生成,减少重复编码工作。
- 提供开箱即用的权限管理、字典管理、日志监控等企业级功能模块,满足常见业务需求。
- 支持微服务架构,可集成Nacos、Sentinel等组件,适应分布式系统的扩展需求。
- 具备完善的文档和活跃的社区支持,适合中小团队快速搭建管理系统或B端应用。
- 通过可视化流程设计器(如Flowable)实现工作流引擎集成,简化业务流程开发。
学习路径
学习路径
阶段 1:环境搭建与基础入门
学习内容:
- JeecgBoot 的架构理念与技术栈(Vue3 + SpringBoot)
- 开发环境配置(JDK, Node.js, Maven, Redis, IDE)
- 官方演示 Demo 的功能体验与后台操作
- 项目的启动、编译与本地部署流程
- 基础的代码生成器使用(单表、一对多)
学习时间: 1-2周
学习资源:
- JeecgBoot 官方文档
- JeecgBoot 官方 GitHub 仓库 Wiki
- B站搜索 “JeecgBoot 入门教程”
学习建议: 建议先跑通官方 Demo,了解系统的大致功能模块。不要急于修改源码,先熟悉通过代码生成器生成一个简单的 CRUD(增删改查)功能,这是理解 JeecgBoot 开发模式的最快途径。
阶段 2:核心功能掌握与前端开发
学习内容:
- 低代码平台:Online 表单开发(Online 报表、Online 表单)
- 前端框架 Ant Design Vue (Vue3) 的常用组件使用
- 前端页面路由与菜单配置
- 接口调用与状态管理
- 权限控制(按钮级、数据级)的实现原理
- 常用系统配置(字典管理、数据字典、多语言)
学习时间: 2-3周
学习资源:
- Ant Design Vue 官方文档
- Vue3 官方文档
- JeecgBoot 社区论坛与常见问题 (FAQ)
学习建议: 此阶段重点在于“改”。尝试修改生成的代码,调整页面布局,熟悉前端组件的属性。重点掌握 Online 代码生成功能,这是提升效率的关键,遇到问题多查阅官方文档的“常见问题”板块。
阶段 3:后端开发与业务逻辑实现
学习内容:
- MyBatis-Plus 的使用与自定义 SQL 编写
- Spring Boot 核心注解与配置
- JeecgBoot 系统架构分析(Controller -> Service -> Mapper)
- 自定义接口开发与 RESTful 风格
- 数据校验
- 日志处理与全局异常处理
- 定时任务
学习时间: 3-4周
学习资源:
- Spring Boot 官方参考文档
- MyBatis-Plus 官方文档
- JeecgBoot 源码本地阅读
学习建议: 不要只依赖代码生成器。尝试手写一个复杂的业务接口,理解 JeecgBoot 的 BaseMapper、BaseService 和 BaseController 提供了哪些通用方法。学习如何通过 AOP 和拦截器扩展系统功能。
阶段 4:源码解析与高级定制
学习内容:
- JeecgBoot 核心源码分析(启动流程、切面处理、权限拦截)
- 自定义开发 Starter 或组件
- 微服务版本架构分析
- 数据库设计与性能优化
- 系统安全加固与 XSS/SQL 注入防护
- 自定义主题与样式深度定制
学习时间: 4-6周
学习资源:
- JeecgBoot 开源版源码
- GitHub Issues 及源码注释
- 分布式系统架构设计相关书籍
学习建议: 此阶段需要结合实际项目需求进行深入研究。尝试阅读源码中的核心类,理解其设计模式(如模板方法模式等)。如果是微服务版本,需要额外学习 Spring Cloud Alibaba 相关组件。建议尝试向官方提交 PR 或修复 Bug,以验证对源码的理解程度。
常见问题
1: JeecgBoot 是什么?它主要解决了什么问题?
1: JeecgBoot 是什么?它主要解决了什么问题?
A: JeecgBoot 是一款基于代码生成器的低代码开发平台,采用前后端分离架构。它开源了核心代码(开源协议为 Apache 2.0),旨在解决 Java 项目中 80% 的重复工作,让开发者更多关注业务逻辑。
其核心价值在于“在线开发”和“代码生成”。通过在线配置表单、报表,并利用强大的代码生成器,可以快速生成单表、树表、主子表(一对多)的 CRUD(增删改查)功能代码。它集成了主流技术栈(如 SpringBoot 2.x/3.x, Vue3, Ant Design Vue 等),并提供了一系列开箱即用的企业级功能,如用户权限、数据权限、多租户、消息通知等,从而显著提升开发效率,通常能节省 50% 以上的开发工作量。
2: JeecgBoot 的技术栈是什么?支持哪些版本?
2: JeecgBoot 的技术栈是什么?支持哪些版本?
A: JeecgBoot 采用主流的企业级开发技术栈,具体版本支持情况如下:
- 后端技术栈:基于 Spring Boot(目前主流分支支持 2.7.x 和 3.x 版本),持久层使用 MyBatis-Plus,集成 Spring Security 或 Jwt 进行权限认证,数据库支持 MySQL、PostgreSQL、Oracle、SQLServer 等主流关系型数据库。
- 前端技术栈:基于 Vue 3.0 + TypeScript + Vite,UI 组件库主要采用 Ant Design Vue。
- 其他组件:集成了 Redis 缓存、Quartz 定时任务、MinIO 文件存储等。
该架构设计灵活,支持微服务模式,可以轻松整合 Spring Cloud、Nacos 等微服务组件。
3: 如何使用 JeecgBoot 的代码生成器生成一对一或一对多(主子表)的 CRUD 代码?
3: 如何使用 JeecgBoot 的代码生成器生成一对一或一对多(主子表)的 CRUD 代码?
A: JeecgBoot 的代码生成器是其最核心的功能之一,操作流程如下:
- 数据库设计:首先在数据库中建好业务表。如果是主子表(一对多),需要设计主表和子表,并在子表中设置关联主表的外键字段。
- 在线配置:登录系统后,进入“在线开发” -> “代码生成器”菜单。系统会自动读取数据库表结构。
- 表单配置:选择要生成的表,点击“配置”。
- 基本信息:设置生成代码的包路径、模块名、功能名等。
- 字段配置:设置每个字段的显示类型(下拉框、日期、弹窗等)、是否必填、校验规则等。
- 主子表设置:如果是主子表,需要在“主表信息”或“子表信息”配置栏中,勾选对应的子表,并设置关联字段。
- 生成代码:配置完成后,点击“生成代码”按钮,系统会生成一个 ZIP 包,包含 Java 后端代码、Vue 前端代码、Menu SQL(菜单 SQL)等。
- 本地集成:将解压后的代码复制到项目的对应目录中,运行 Menu SQL 脚本初始化菜单,即可看到生成的页面和功能。
4: JeecgBoot 如何实现数据权限控制(如只能看自己创建的数据)?
4: JeecgBoot 如何实现数据权限控制(如只能看自己创建的数据)?
A: JeecgBoot 提供了非常灵活的数据权限(Data Permission)机制,主要通过以下方式实现:
- 注解式权限控制:在后端 Controller 或 Service 层的方法上,可以使用
@PermissionData注解(组件注解)。该注解通过配置特定的字段(如create_by),自动在 SQL 执行时拼接过滤条件,确保当前用户只能查询到属于自己的数据。 - SQL 注入:底层通过 MyBatis-Plus 的拦截器机制实现。当检测到方法上有数据权限注解时,框架会自动修改 SQL,添加类似
WHERE create_by = #{currentUser.username}的条件。 - 部门权限:系统还内置了部门视图权限,可以通过配置“部门 ID”字段,实现查看本部门或本部门及下级部门数据的功能。
- 前端权限:前端通过路由守卫和按钮级权限控制(v-auth 指令)来控制页面的访问和按钮的显示,但这属于功能权限范畴。数据权限主要依赖后端 SQL 拦截。
5: JeecgBoot 的开源协议是什么?商业项目使用需要付费吗?
5: JeecgBoot 的开源协议是什么?商业项目使用需要付费吗?
A: JeecgBoot 的核心代码遵循 Apache License 2.0 开源协议。
- 免费使用:这意味着您可以免费下载、使用、修改源代码,并将其用于个人或企业的商业项目中,无需支付授权费用。
- 社区版与商业版:虽然核心功能免费,但 JeecgBoot 团队也提供“商业版”或“企业版”服务。商业版通常包含更多高级特性(如
思考题
## 挑战与思考题
### 挑战 1: 代码生成与权限配置
难度**: [简单]
问题描述**:
基于 JeecgBoot 的代码生成器,创建一个“部门管理”模块。要求实现基础的 CRUD(增删改查)功能,并配置好菜单权限,确保普通用户无法访问该页面。
实践建议
基于 JeecgBoot 作为 AI 低代码平台的特性,以下是 6 条针对实际开发、部署及架构设计的实践建议:
1. 严格遵循“生成代码仅作为基线”的原则
场景:使用代码生成器(Online Form)创建 CRUD 功能模块。 建议:
- 操作:利用生成器快速搭建基础表结构和页面,但在正式开发业务逻辑前,应立即将生成的代码纳入版本控制。
- 最佳实践:将生成的代码视为“脚手架”,复杂的业务逻辑(Service 层)应手写并通过接口调用,而不是在生成的 Controller 或 Entity 中堆砌
if-else。 - 常见陷阱:反复修改数据库表结构并多次重新生成代码,导致之前手写的业务逻辑被覆盖。解决方案:使用 JeecgBoot 的继承机制或仅在新增字段时进行增量生成,核心业务代码务必写在单独的文件或方法中。
2. AI 助手与知识库的领域隔离
场景:构建企业级 AI 知识库和聊天助手。 建议:
- 操作:在配置知识库时,必须根据业务部门或数据敏感级别进行严格的“索引隔离”。
- 最佳实践:为不同的业务场景(如:财务问答、IT 运维问答)建立独立的向量库集合,并在 Prompt 中通过“系统提示词”严格限定 AI 的回答边界。
- 常见陷阱:将所有文档混在一起导入,导致 AI 产生“幻觉”或跨域泄露敏感数据(例如:普通员工问出薪资数据)。确保在 AI 流程编排中启用严格的权限校验中间件。
3. 慎用“在线报表”与大数据量查询
场景:使用 Online Report(在线报表)功能进行复杂的数据展示。 建议:
- 操作:对于数据量超过 5 万行的报表,不要直接使用 JeecgBoot 自带的“SQL 拼接”方式进行全表查询展示。
- 最佳实践:引入 ClickHouse 或 StarRocks 等 OLAP 引擎处理复杂报表,或者在后端编写针对性的 SQL 进行分页查询,避免
SELECT *。 - 常见陷阱:前端通过 AutoPoi 或 EasyExcel 导出大量数据时导致内存溢出(OOM)。必须使用流式查询进行 Excel 导出,并限制单次导出的最大行数。
4. AI 流程编排中的超时与重试机制
场景:使用 AI 流程编排构建自动化业务操作(如:聊天式下单)。 建议:
- 操作:在 MCP(Model Context Protocol)或插件调用节点中,必须配置合理的超时时间和降级策略。
- 最佳实践:对于外部 API 的调用,设置异步处理队列。如果 AI 调用业务接口失败,应引导 AI 返回友好的错误提示,而不是直接抛出堆栈异常给用户。
- 常见陷阱:因为 LLM 响应慢或第三方 API 超时,导致前端请求挂起,占用 Tomcat 线程池,最终拖垮整个应用。务必将 AI 交互类接口与普通业务接口的线程池隔离。
5. 前端动态路由的权限颗粒度控制
场景:利用低代码平台配置菜单和按钮权限。 建议:
- 操作:不要仅依赖前端的路由守卫,后端 API 必须强制进行权限校验。
- 最佳实践:使用 JeecgBoot 的
@PermissionData注解或自定义 AOP 切面,对数据权限进行细粒度控制(如:只能看自己部门的数据)。 - 常见陷阱:开发者为了省事,直接在后端 Mapper XML 中过滤掉 SQL 权限注解,导致用户只要知道接口 URL 就能通过 Postman 获取越权数据。
6. 部署架构的解耦(AI 服务与业务服务分离)
场景:生产环境部署。 建议:
- 操作:随着 AI 功能(聊天、绘图
引用
- GitHub 仓库: https://github.com/jeecgboot/JeecgBoot
- DeepWiki: https://deepwiki.com/jeecgboot/JeecgBoot
注:文中事实性信息以以上引用为准;观点与推断为 AI Stack 的分析。
站内链接
- 分类: 后端 / 开源生态
- 标签: JeecgBoot / 低代码 / AI应用 / 代码生成 / Spring Boot / Vue3 / 企业级 / MCP
- 场景: 全栈开发 / RAG应用 / 大语言模型
相关文章
- JeecgBoot:集成AI低代码与代码生成器的企业级开发平台
- JeecgBoot:集成AI低代码与代码生成器的企业级开发平台
- JeecgBoot开源低代码平台:集成AI应用与代码生成器
- JeecgBoot:集成AI低代码平台与代码生成器的企业级开发方案
- JeecgBoot:集成AI低代码与代码生成器的企业级开发平台 这篇文章由 AI Stack 自动生成,包含多次大模型调用,提供深度的结构化分析。