JAVA学习笔记JEECG BOOT介绍_丰。。的博客-程序员秘密_jeecgboot二次开发

技术标签: java  后端  开发语言  

JEECG
JEECG BOOT 低代码开发平台(前后端分离版本)
当前最新版本: 3.1.0(发布日期:2022-03-01)

AUR GitHub stars GitHub forks

项目介绍:
Java Low Code Platform for Enterprise web applications
JeecgBoot 是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性!

JeecgBoot 提供了一系列低代码模块,实现在线开发真正的零代码:Online表单开发、Online报表、报表配置能力、在线图表设计、大屏设计、移动配置能力、表单设计器、在线设计流程、流程自动化配置、插件能力(可插拔)等等!

JEECG宗旨是: 简单功能由OnlineCoding配置实现,做到零代码开发;复杂功能由代码生成器生成进行手工Merge 实现低代码开发,既保证了智能又兼顾灵活;实现了低代码开发的同时又支持灵活编码,解决了当前低代码产品普遍不灵活的弊端!

JEECG业务流程: 采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案: 表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计(松耦合)、并支持任务节点灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量。

适用项目
Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中,尤其适合SAAS项目、企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)等,其半智能手工Merge的开发方式,可以显著提高开发效率70%以上,极大降低开发成本。

技术文档
技术官网: http://www.jeecg.com

在线演示 : http://boot.jeecg.com

开发文档: http://doc.jeecg.com

入门视频: https://space.bilibili.com/454617261/channel/series

新手指南: 快速入门 | 常见问题 | 技术支持 | 1分钟体验低代码

微服务开发: 单体切换为微服务

QQ交流群 : ⑤860162132、683903138(VUE3版)、④774126647(满)、③816531124(满)、②769925425(满)、①284271917(满)

Vue3版前端(Beta版)
采用Vue3.0、Vite、 Ant-Design-Vue、TypeScript 等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能! 是在 Vben-Admin 基础上研发的,适合于JeecgBoot的新版前端VUE3框架。

源码下载:https://github.com/jeecgboot/jeecgboot-vue3
入门指南: 开发文档 | VUE3版演示 | 入门视频
为什么选择JEECG-BOOT?
1.采用最新主流前后分离框架(Springboot+Mybatis+antd),容易上手; 代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发;
2.支持微服务SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切换机制支持单体和微服务自由切换
3.开发效率高,采用代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用;
4.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套)
5.代码生成器非常智能,在线业务建模、在线配置、所见即所得支持23种类控件,一键生成前后端代码,大幅度提升开发效率,不再为重复工作发愁。
6.低代码能力:Online在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码)
7.低代码能力:Online在线报表(无需编码,通过在线配置方式,实现数据报表,可以快速抽取数据,减轻开发压力,实现人人皆可编码)
8.低代码能力:Online在线图表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据报表等,支持自定义排版布局,实现人人皆可编码)
9.封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能
10.常用共通封装,各种工具类(定时任务,短信接口,邮件发送,Excel导入导出等),基本满足80%项目需求
11.简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能
12.集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word等报表;
13.采用前后分离技术,页面UI风格精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等
14.查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询);
15.数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
16.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等);
17.支持SAAS服务模式,提供SaaS多租户架构方案。
18.分布式文件服务,集成minio、阿里OSS等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。
19.主流数据库兼容,一套代码完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、达梦等主流数据库。
20.集成工作流activiti,并实现了只需在页面配置流程转向,可极大的简化bpm工作流的开发;用bpm的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的java代码;
21.低代码能力:在线流程设计,采用开源Activiti流程引擎,实现在线画流程,自定义表单,表单挂靠,业务流转
22.多数据源:及其简易的使用方式,在线配置数据源配置,便捷的从其他数据抓取数据;
23.提供单点登录CAS集成方案,项目中已经提供完善的对接代码
24.低代码能力:表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
25.专业接口对接机制,统一采用restful接口方式,集成swagger-ui在线接口文档,Jwt token安全验证,方便客户端对接
26.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
27.高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
28.提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL监控)
29.消息中心(支持短信、邮件、微信推送等等)
30.集成Websocket消息通知机制
31.移动自适应效果优秀,提供APP发布方案:
32.支持多语言,提供国际化方案;
33.数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
34.平台UI强大,实现了移动自适应
35.平台首页风格,提供多种组合模式,支持自定义风格
36.提供简单易用的打印插件,支持谷歌、火狐、IE11+ 等各种浏览器
37.示例代码丰富,提供很多学习案例参考
38.采用maven分模块开发方式
39.支持菜单动态路由
40.权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)
41.提供新行编辑表格JVXETable,轻松满足各种复杂ERP布局,拥有更高的性能、更灵活的扩展、更强大的功能
技术架构:
开发环境
语言:Java 8+ (小于17)

IDE(JAVA): IDEA (必须安装lombok插件 )

IDE(前端): IDEA 或者 WebStorm

依赖管理:Maven

缓存:Redis

数据库脚本:MySQL5.7+ & Oracle 11g & Sqlserver2017(默认只提供三个库脚本,其他库需要自己转)

后端
基础框架:Spring Boot 2.3.5.RELEASE

微服务框架: Spring Cloud Alibaba 2.2.3.RELEASE

持久层框架:MybatisPlus 3.4.3.1

报表工具: JimuReport 1.4.32

安全框架:Apache Shiro 1.8.0,Jwt 3.11.0

微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking

数据库连接池:阿里巴巴Druid 1.1.22

日志打印:logback

其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。

前端
Vue 2.6.10,Vuex,Vue Router
Axios
ant-design-vue
webpack,yarn
vue-cropper - 头像裁剪组件
@antv/g2 - Alipay AntV 数据可视化图表
Viser-vue - antv/g2 封装实现
eslint,@vue/cli 3.2.1
vue-print-nb-jeecg - 打印
支持库
数据库 支持
MySQL √
Oracle11g √
Sqlserver2017 √
PostgreSQL √
DB2、Informix √
MariaDB √
SQLite、Hsqldb、Derby、H2 √
达梦、人大金仓、神通 √
华为高斯、虚谷、瀚高数据库 √
阿里云PolarDB、PPAS、HerdDB √
Hive、HBase、CouchBase √
微服务解决方案
1、服务注册和发现 Nacos √

2、统一配置中心 Nacos √

3、路由网关 gateway(三种加载方式) √

4、分布式 http feign √

5、熔断和降级 Sentinel √

6、分布式文件 Minio、阿里OSS √

7、统一权限控制 JWT + Shiro √

8、服务监控 SpringBootAdmin√

9、链路跟踪 Skywalking 参考文档

10、消息中间件 RabbitMQ √

11、分布式任务 xxl-job √

12、分布式事务 Seata

13、分布式日志 elk + kafka

14、支持 docker-compose、k8s、jenkins

15、CAS 单点登录 √

16、路由限流 √

微服务架构图

Jeecg Boot 产品功能蓝图

功能模块
├─系统管理
│ ├─用户管理
│ ├─角色管理
│ ├─菜单管理
│ ├─权限设置(支持按钮权限、数据权限)
│ ├─表单权限(控制字段禁用、隐藏)
│ ├─部门管理
│ ├─我的部门(二级管理员)
│ └─字典管理
│ └─分类字典
│ └─系统公告
│ └─职务管理
│ └─通讯录
│ └─多租户管理
├─消息中心
│ ├─消息管理
│ ├─模板管理
├─代码生成器(低代码)
│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)
│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择)
│ ├─代码生成器模板(生成代码,自带excel导入导出)
│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)
│ ├─高级查询器(弹窗自动组合查询条件)
│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出)
│ ├─平台移动自适应支持
├─系统监控
│ ├─Gateway路由网关
│ ├─性能扫描监控
│ │ ├─监控 Redis
│ │ ├─Tomcat
│ │ ├─jvm
│ │ ├─服务器信息
│ │ ├─请求追踪
│ │ ├─磁盘监控
│ ├─定时任务
│ ├─系统日志
│ ├─消息中心(支持短信、邮件、微信推送等等)
│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)
│ ├─系统通知
│ ├─SQL监控
│ ├─swagger-ui(在线接口文档)
│─报表示例
│ ├─曲线图
│ └─饼状图
│ └─柱状图
│ └─折线图
│ └─面积图
│ └─雷达图
│ └─仪表图
│ └─进度条
│ └─排名列表
│ └─等等
│─大屏模板
│ ├─作战指挥中心大屏
│ └─物流服务中心大屏
│─常用示例
│ ├─自定义组件
│ ├─对象存储(对接阿里云)
│ ├─JVXETable示例(各种复杂ERP布局示例)
│ ├─单表模型例子
│ └─一对多模型例子
│ └─打印例子
│ └─一对多TAB例子
│ └─内嵌table例子
│ └─常用选择组件
│ └─异步树table
│ └─接口模拟测试
│ └─表格合计示例
│ └─异步树列表示例
│ └─一对多JEditable
│ └─JEditable组件示例
│ └─图片拖拽排序
│ └─图片翻页
│ └─图片预览
│ └─PDF预览
│ └─分屏功能
│─封装通用组件
│ ├─行编辑表格JEditableTable
│ └─省略显示组件
│ └─时间控件
│ └─高级查询
│ └─用户选择组件
│ └─报表组件封装
│ └─字典组件
│ └─下拉多选组件
│ └─选人组件
│ └─选部门组件
│ └─通过部门选人组件
│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)
│ └─在线code编辑器
│ └─上传文件组件
│ └─验证码组件
│ └─树列表组件
│ └─表单禁用组件
│ └─等等
│─更多页面模板
│ ├─各种高级表单
│ ├─各种列表效果
│ └─结果页面
│ └─异常页面
│ └─个人页面
├─高级功能
│ ├─系统编码规则
│ ├─提供单点登录CAS集成方案
│ ├─提供APP发布方案
│ ├─集成Websocket消息通知机制
├─Online在线开发(低代码)
│ ├─Online在线表单 - 功能已开放
│ ├─Online代码生成器 - 功能已开放
│ ├─Online在线报表 - 功能已开放
│ ├─Online在线图表(暂不开源)
│ ├─Online图表模板配置(暂不开源)
│ ├─Online布局设计(暂不开源)
│ ├─多数据源管理 - 功能已开放
├─积木报表设计器(低代码)
│ ├─打印设计器
│ ├─数据报表设计
│ ├─图形报表设计(支持echart)
│ ├─大屏设计器(暂不开源)
│─流程模块功能 (暂不开源)
│ ├─流程设计器
│ ├─在线表单设计
│ └─我的任务
│ └─历史流程
│ └─历史流程
│ └─流程实例管理
│ └─流程监听管理
│ └─流程表达式
│ └─我发起的流程
│ └─我的抄送
│ └─流程委派、抄送、跳转
│ └─。。。
│─OA办公组件 (暂不开源)
│ ├─更多功能
│ └─。。。
└─其他模块 (暂不开源)
└─更多功能开发中。。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CSDNXXCQ/article/details/123889005

智能推荐

HIVE优化系列(1)-- 自动合并输出的小文件_安静的技术控的博客-程序员秘密

小文件的缺陷我们就不说了,直接进入到正题.HIVE自动合并输出的小文件的主要优化手段为:set hive.merge.mapfiles = true:在只有map的作业结束时合并小文件,set hive.merge.mapredfiles = true:在Map-Reduce的任务结束时合并小文件,默认为False;set hive.merge.size.per.task = 25600...

示波器参数理解_【ql君】qlexcel的博客-程序员秘密_示波器参数详解

示波器的三个重要参数是:带宽、采样率、存储深度。1.带宽定义:示波器带宽的定义没有变,就是输入一个正弦波,保持幅度不变,增加信号频率,当示波器上显示的信号是实际信号幅度的70.7%(即3dB衰减)的时候,该对应的频率就等于示波器带宽。100MHz的带宽在测量100MHz的正弦波时,幅度会下降到原来的0.7,但是100mhz带宽的示波器不能测100mhz的方波,因为方波由基波和奇次谐

Tensorboard--模型可视化工具_小陈同学-陈百万的博客-程序员秘密_模型可视化工具

Tensorboard1.tensorboard in tensorflow1.1 tensorboard的启动过程1.2 tf.summary 可视化类型1.3 tf.summary 使用demo2.tensorboard in pytorch2.1 SummaryWriter 使用demotensorboard in tensorflow :tensorboard 是一套用于tensorflow训练过程可视化工具,能够可视化模型的结构,参数,损失函数等。最常用于记录训练过程中参数和损失函数值的变化,

第四代自动泊车从APA到AVP技术_wujianming_110117的博客-程序员秘密

第四代自动泊车从APA到AVP技术前言自动泊车是指汽车自动泊车入位不需要人工控制,系统能够自动帮你将车辆停入车位,在倒车入库中可谓是驾驶者的一项利器。当我们找到一个理想的停车地点,只需轻轻启动按钮、坐定、放松,其他一切即可自动完成。自动泊车技术同样适用于主动避撞系统,并最终实现汽车的自动驾驶。不同的自动泊车系统采用不同的方法来检测汽车周围的物体。 有些在汽车前后保险杠四周装上了感应器,它们既可以充当发送器,也可以充当接收器。这些感应器会发送信号,当信号碰到车身周边的障碍物时会反射回来。然后,车上的

mkdir() 与 mkdirs() 的区别_HD243608836的博客-程序员秘密

官方解释:boolean mkdir() 创建此抽象路径名指定的目录。boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。我通过Demo通俗的解释一下:String path ="E:\\data\\a\\b\\c";Boolean result = new File(path).mkdir();System.out.println(...

随便推点

微信浏览器唤醒App_紫轩阁的博客-程序员秘密_微信浏览器打开app

实现效果如下图所示,顶部会有一个广告图,点击这个广告图,如果手机上已经安装了App,则直接打开,如果没有安装,则开始下载,如果在微信公众号中,则跳转应用宝第三方平台跳转。html<span @click="openAppClick" class="see-btn">打开APP</span>jsopenclient(){ let ua = navigator.userAgent.toLowerCase(); //config 配置文件 JS 传递

网络编程课堂笔记_diaowei6622的博客-程序员秘密

网络编程软件开发架构c/s架构c:客户端s:服务端b/s架构b:浏览器s:服务端手机端:好像C/S架构比较火,其实不然,微信小程序,支付宝第三方接口都类似于b/s架构目的都在于统一接口,聚集用户群pc端:b/s比较火本质:b/s架构本质也是c/s架构客户端与服务端概念服务端:24小时不间断提供服务,谁来我就服务谁...

Android 应用(7)——untrusted_app访问底层硬件_横山郡守的博客-程序员秘密_untrusted_app

参考链接:https://blog.csdn.net/Sunxiaolin2016/article/details/91039775https://blog.csdn.net/scottmvp/article/details/115871037背景:用户自行开发的app需要访问底层serial port。我们开发的app在SELinux(或SEAndroid)中分为主要三种类型(根据user不同,也有其他的domain类型):1)untrusted_app 第三方app,没有Android平台签名

单元测试小记_markix的博客-程序员秘密

工具Junit:测试框架Mockito:模拟框架(模拟数据、模拟方法…)https://site.mockito.orgPowerMock:更强大的模拟框架(支持模拟静态方法、私有方法…)https://github.com/powermock/powermockJaCoCo:代码覆盖率统计工具https://www.jacoco.org/jacoco/index.html使用使用Mockito比如要测试Service类,则需要将service类中的dao给mock掉。@Inje

Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理_布碗的博客-程序员秘密

说明在上一篇博文《Ribbon 学习(一):脱离 Eureka 使用 Ribbon》一文中,我简单介绍了在脱离 Eureka 时 Ribbon 的简单使用方式。在本篇博文中,我将继续通过源码来介绍 Spring Cloud Ribbon 的加载配置原理,了解 Ribbon Client 如何创建,以及 RequestTemplate 如何具有负载均衡的功能特性。在正文开始前,我们先回忆下在上篇博文中是如何使用 Ribbon 的。首先使用 @LoadBalanced 注解标注创建了 ResetTempla

VS2019打开项目,出现“无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配“的错误_搬运工甲的博客-程序员秘密

今天从GitHub上拉下来一个工程,正想要学习的时候,打开工程结果出现了 “无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配” 的报错,在经过一系列百度之后,得到最简单解决方案:使用cmd命令 dotnet --info 查看自己使用的SDK版本,然后直接找到项目中的 global.json 文件,右键打开,直接修改版...