项目介绍
JeecgBoot 是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成!JeecgBoot 引领低代码开发模式 (OnlineCoding-> 代码生成 -> 手工 MERGE), 帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
当前版本:v3.7.0 | 2024-06-17
源码下载
升级日志
里程碑大版本正式发布,VUE3 版本正式进入性能和功能健壮阶段,此版本之后不再维护 vue2 版本。版本增量升级 SQL
主升级内容
- 信创国产化支持,默认完美适配达梦和人大金仓国产数据库
- 系统主题风格美化大升级、系统性能大优化、组件优化更加易用
- Online 模块大版本升级、代码生成器和模板大升级
- 积木报表升级到最新版,不受并发和使用量限制
- 仪表盘大版本升级,设计排版重构使用更加便捷、开放更多能力
- 系统监听升级,新增异常监控和慢接口查询、优化 redis 监控
- 微服务提供 rocketmq 方案,支持 rabbitmq 与 rocketmq 切换
小功能升级
- 升级 vite5,前端性能进一步提升
- 升级 vxe-table 版本号、升级前端依赖版本号、固定 tinymce 版本号
- 新增免 token 校验注解 @IgnoreAuth
- AI 助手功能优化
- Online js 增强增加 js 智能提示
- 短信接口增加防刷机制
- 升级 kkfileview 4.1.0
- 升级 druid 版本号
- PG 数据库 Schema 更好的兼容
- 封装原生使用的弹窗 JModel、JForm 等
- 表单详情页面样式美化
- 角色授权层级关联优化,更加易用
- 大版本升级内容太多,不详细罗列...
issue 处理
- 急急急!!!BasicDrawer 组件中的底栏(footer) 显示 / 隐藏逻辑逻辑错误・Issue #1087
- 【用户管理】页面的【编辑】、【详情】对话框显示异常・Issue #1077
- 树形表格展开两行,对其中一行添加数据时,会让第一行数据出现_loadchild,loading・Issue #1017
- online 在线功能 ERP 导致的页大小问题・Issue #5922
- 【菜单管理】页面未翻译本地化 key・Issue #1090
- Excel 导入时空行校验问题・Issue #5840
- 黑色主题模式下 online 表单显示不正确・Issue #1104
- 检测提示:当前菜单表是 vue2 版本,导致菜单加载异常,点击确定切换到 vue3 版本菜单・Issue #5944
- httpsPort 是你自己加的吧,我排查了一下,3.6.0 版本没有新增 httpsPort 属性・Issue #5968
- 代码生成器 jar 包中携带配置文件导致 spring.profiles.active 被覆盖・Issue #6010
- BasicDrawer 组件中的底栏:showOkBtn="false" 配置失效,问题 #1087 修复后产生的新问题・Issue #1103
- BasicModal 组件在非全屏的情况下最大高度获取异常,不论内容高度是否超出屏幕高度,都等于内容高度・Issue #1117
- JEditor 优化建议・Issue #1116
- JVXETable 无法记住列设置,重新进入页面又还原了・Issue #1119
- jimureport-drag:2.0.1 报错 java.lang.IllegalStateException: No TaglibFactory available・Issue #6021
- 打包后黑色主题下菜单 tab 标签不跟随系统主题颜色变化,开发模式下没问题・Issue #1115
- 行选择卡顿问题在 3.6.3 版本依然存在・Issue #1120
- build/utils.ts 修复・Issue #1130
- rangepicker 添加 defaultValue: [] 数组 会出现报错・Issue #1114
- BasicTable 在使用 clickToRowSelect=true 的状态下,selection-change 事件在每次选中项切换后会触发多次・Issue #1127
- schemas 中使用 RangePicker 组件赋予默认值,页面报错・Issue #1121
- AUTO 在线表单富文本字段,上传图片按钮突兀而且遮挡了 TinyMCE 控件栏的全屏按钮・Issue #1129
- 前端抽屉方式・Issue #1134
- 横版顶部菜单 绑定 online 表单后 刷新页面 tab 显示 auto 在线表单而不是菜单名・Issue #1135
- Online 表单中 下拉搜索框 搜索时报 sql 错误,生成的 SQL 多了一个 "and"・Issue #5978
- 字典下拉异步出错・Issue #1108
- 使用代码生成器生成树的结构,批量删除时报错,在很老的 jeecg,vue2 版本就在报错了・Issue #6043
- autopoi 模板导出缓存问题及解决方案・Issue #5933
- auto poi 在导入包含图片的 excel 时报错 但是导出没有问题・Issue #6025
- excel 导入主附表,附表有图片类型,导入报错・Issue #6040
- JSearchSelect 的 search 事件在中文输入还没拼字成功时会触发,导致后端 SQL 注入・Issue #6049
- 表格控件列固定功能保存后不生效・Issue #1178
- [3.6.3] 部门管理功能中的【部门权限】中未翻译 t ('') 多语言・Issue #1169
- 钉钉同步部门时没有最顶层的部门名,同步用户时,用户没有部门信息・Issue #6017
- 使用代码生成器生成树的结构,批量删除时报错・Issue #6068
- online 表单生成代码, 关联表生成 vue3 模板里的 *.data.ts 这个文件会有报错・Issue #6113
- online 表单列位置的 id 未做限制,拖动其他列到 id 列上面,同步数据库时报错・Issue #6054
- /sys/user/edit 接口生日日期数据格式错误,导致选生日就没法修改或增加用户・Issue #1192
- SQL 注入检测逻辑影响业务・Issue #6105
- 设置单点登录后页面,进入首页提示 404,也没有绘制侧边栏・Issue #1102
- cas 开启后无法加载路由・Issue #1132
- jVxeTable select 下拉组件鼠标 hover 的 title 属性显示文案优化・Issue #1175
- BasicTable 原生属性 headerCell 问题・Issue #1146
- 配置角色权限・Issue #1151
- 【3.6.3】【角色管理】进入角色权限页面时,有警告信息,并且选择权限时反应慢且操作繁琐・Issue #1180
- BasicTable 可编辑表格时,添加一行,第一行校验一直不过,再添加第二行,就可以了・Issue #1165
- BasicTable 当不分页但又有尾部时自适应高度计算不正确,没有减去尾部高度・Issue #1137
- 配置角色权限・Issue #1151
- BasicTable 当不分页但又有尾部时自适应高度计算不正确,没有减去尾部高度・Issue #1137
- BasicTable 翻页后滚动条没有返回顶部・Issue #1188
- Table 合计行在列头拖动时错位・Issue #1196
- BasicTable 可编辑表格时,添加一行,第一行校验一直不过,再添加第二行,就可以了・Issue #1165
- 下载前端代码配置表变查询条件显示列不生效・Issue #6180
- 富文本编辑器 simpleToolbar 配置增加 formatselect 后页面不显示 "段落" 下拉框・Issue #6171
- 3.6.3 版本 drawer 打开 vue 警告过多・Issue #1156
- 【3.6.3】【角色管理】进入角色权限页面时,有警告信息,并且选择权限时反应慢且操作繁琐・Issue #1180
- 发送测试消息后,铃铛数字没有变化・Issue #1217
- JVxeTable 列过长(出现横向滚动条)时无法拖拽排序・Issue #1162
- BasicTable 全选,跨页全选,当页反选时,会把所有的全选项取消掉,实际需求应该只针对当前页进行全选和取消全选。・Issue #1173
- 登录时,vue3 版本不加载字典数据设置无效・Issue #1220
- 登录重定向问题・Issue #1147
- JPopup 弹窗选择组件 搜索字段只有两个的时候,如何移除收起展开・Issue #1229
- 前端 websocket 因心跳导致监听不起作用・Issue #1161
- 用户编辑界面 "所属部门" 与 "负责部门" 联动出错?・Issue #1222
- ApiSelect 多次请求・Issue #6191
- 新增菜单时,未标识必填项弹出来了必填提醒・Issue #1244
- 关于高级查询组件 j-super-query 缓存问题・Issue #6205
- 行内编辑,用户选择无效,导致无法获取到用户信息。・Issue #1242
- excel 读取负数异常・Issue #6133
- 导入 excel,嵌入图片识别不到・Issue #5987
- excel 导入主附表,附表有图片类型,导入报错・Issue #6040
- auto poi 在导入包含图片的 excel 时报错 但是导出没有问题・Issue #6025
- autopoi 模板导出缓存问题及解决方案・Issue #5933
- springboot3_sas online 表单同步数据库出错・Issue #6151
- 在线表单 - js 增强 - 表单 api - 表单加载事件中对详情事件不起作用・Issue #6139
- online 表单开发 同步数据库 普通同步报错 ERROR org.jeecg.modules.online.cgform.c.a:606 null・Issue #6111
- 仪表盘设计集成到菜单后访问出现 401・Issue #6071
- 仪表盘设计时,图表设置了跳转地址,预览正常,但是集成到菜单后无法跳转・Issue #6048
- springboot3 分支,online 表单开页面,导入数据库表功能无法使用・Issue #6146
- Online 表单下拉搜索框在子表弹框编辑行内容方式时后端报错・Issue #5726
- 配置字段 href,跳转页面参数不生效,积木报表 token 带不过去,online 报表跳转页签表头问题・Issue #970
- online 树表的变更父级节点保存报错・Issue #5769
- 3.6.1 版本尝试 Online 表单和报表开发的 8 个问题反馈・Issue #5681
- 单表树,数据库记录多了后速度极慢・Issue #5876
- 子表中的下拉框内容,能否根据主表的某个字段来限定・Issue #955
- online 表单,下拉框,校验必填状态有误・Issue #1091
- Online 表单开发 - 导入数据库表 无法获取数据库表信息・Issue #6034
- Online 在线功能,关联记录卡片模式最多只能显示 6 个其他字段・Issue #5954
- 3.6.1 版本尝试 Online 表单和报表开发的 8 个问题反馈・Issue #5681
- Onlineb 表单开发,主表为 ERP 模式,当用户没有【Online 表单开发】页面的权限时,用户无权查看从表的数据・Issue #6124
- postgresql 数据库在 Online 表单同步数据库的时候,选择普通同步也会导致原表数据丢失。・Issue #6109
- js 增强代码中能获取当前登录信息吗?例如 tenantId・Issue #1176
- 日期控件中,是否支持 年月(yyyy-MM)格式?・Issue #6094
- 当关联记录中使用卡片显示时,当保存后在预览,数据只能显示 10 条 (10 个块),超过 10 条后无法显示。・Issue #1228
- 在线表单 - 自定义树形控件是否含有子节点功能不生效・Issue #6197
- 关联记录模块 BUG (记录多余 10 条不显示)・Issue #6206
- 在线表单的主题模板选择 tab 方式时,子表的 tab 顺序展示有问题・Issue #6211
- 开源版本如何拥有选择年月组件・Issue #1278
- online 报表 SQL 翻译 不翻译第二页的数据・Issue #6242
- Online 表单开发页面批量删除 BUG・Issue #6307
- JCodeEditor 位置异常・Issue #1231
- excel 读取负数异常・Issue #6133
- 导入 excel,嵌入图片识别不到・Issue #5987
- excel 导入主附表,附表有图片类型,导入报错・Issue #6040
- auto poi 在导入包含图片的 excel 时报错 但是导出没有问题・Issue #6025
- autopoi 模板导出缓存问题及解决方案・Issue #5933
- 微服务模式下,生产环境禁用 swagger・Issue #6100
- JTreeSelect 组件两次请求・Issue #1283
- online 表单的功能测试,与代码生成后,点击详情的样式不统一・Issue #1235
springboot3 分支 issue
- springboot3_sas 分支,redis 持久化没有用,应用重启后,已登录用户在 token 未过期情况下还是需要重新登录・Issue #6027
- springboot3 分支数据库连接经常掉线・Issue #5936
- 3.6.3 LoginUser.java 缺了个 String parentId;・Issue #6031
- 3.6.3springboot3 版本控制台一直报错:Using deprecated '-debug' fallback for parameter name resolution・Issue #6127
- springboot3_sas 内部嵌入积木报表被拒绝・Issue #6150
- 文件类型参数导致自动保存日志序列化出错・Issue #6169
- jeecgboot-sas 启动有问题・Issue #6168
- spring3 分支的 acurator/httptrace 报错 404・Issue #6130
技术交流
- 开发文档:https://help.jeecg.com
- 在线演示:http://boot3.jeecg.com
- 快速入门:入门视频 | 代码生成
- AI 助手: 配置文档
为什么选择 JeecgBoot?
开源界 "小普元" 超越传统商业平台。引领低代码开发模式 (OnlineCoding-> 代码生成器 -> 手工 MERGE),低代码开发同时又支持灵活编码, 可以帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高开发效率,节省成本,同时又不失灵活性。
- 采用最新主流前后分离框架(SpringBoot+Mybatis-plus+Ant-Design+Vue),容易上手;代码生成器依赖性低,灵活的扩展能力,可灵活实现二次开发;
- 开发效率很高,采用代码生成器,单表数据模型和一对多 (父子表)、树列表等数据模型,增删改查功能自动生成,菜单配置直接使用(前端代码和后端代码都一键生成);
- 代码生成器提供强大模板机制,支持自定义模板风格。目前提供四套风格模板(单表两套、一对多两套)
- 封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能。强大的权限机制,支持访问授权、按钮权限、数据权限、表单权限等
- 零代码在线开发能力,在线配置表单、在线配置报表、在线配置图表、在线设计表单
- 常用共通封装,各种工具类 (定时任务,短信接口,邮件发送,Excel 导入导出等), 基本满足 80% 项目需求
- 简易 Excel 导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能
- 集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word 等报表;
- 采用前后分离技术,页面 UI 精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等
- 查询过滤器:查询功能自动生成,后台动态拼 SQL 追加查询条件;支持多种匹配方式(全匹配 / 模糊查询 / 包含查询 / 不匹配查询);
- 数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
- 在线配置报表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据等报表)
- 页面校验自动生成 (必须输入、数字校验、金额校验、时间空间等);
- 提供单点登录 CAS 集成方案,项目中已经提供完善的对接代码
- 表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持 select、radio、checkbox、textarea、date、popup、列表、宏等控件
- 专业接口对接机制,统一采用 restful 接口方式,集成 swagger-ui 在线接口文档,Jwt token 安全验证,方便客户端对接
- 接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
- 高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
- 提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL 监控)
- 消息中心(支持短信、邮件、微信推送等等)
- 集成 Websocket 消息通知机制
- 提供 APP 发布方案:
- 支持多语言,提供国际化方案;
- 数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
- 平台 UI 强大,实现了移动自适应
- 平台首页风格,提供多种组合模式,支持自定义风格
- 提供简单易用的打印插件,支持谷歌、IE 浏览器等各种浏览器
- 示例代码丰富,提供很多案例参考
- 采用 maven 分模块开发方式
- 支持菜单动态路由
- 权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)
系统效果预览
PC 端
系统交互
AI 助手 (ChatGPT)
仪表盘设计器
图表示例
报表设计器
APP 效果
PAD 端
在线接口文档
流程设计器
表单设计器
大屏设计器
欢迎吐槽,欢迎 star~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。