JEECG BOOT 低代碼開發(fā)平臺(前后端分離版本

JEECG BOOT 低代碼開發(fā)平臺(前后端分離版本)
當(dāng)前最新版本:3.4.1(發(fā)布日期:2022-08-12)
項(xiàng)目介紹
Java Low Code Platform for Enterprise web applications
JeecgBoot 是一款基于代碼生成器的低代碼開發(fā)平臺!前后端分離架構(gòu) SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服務(wù)。強(qiáng)大的代碼生成器讓前后端代碼一鍵生成,實(shí)現(xiàn)低代碼開發(fā)! JeecgBoot 引領(lǐng)新的低代碼開發(fā)模式(OnlineCoding-> 代碼生成器-> 手工MERGE), 幫助解決Java項(xiàng)目70%的重復(fù)工作,讓開發(fā)更多關(guān)注業(yè)務(wù)。既能快速提高效率,節(jié)省研發(fā)成本,同時又不失靈活性!
JeecgBoot 提供了一系列低代碼模塊,實(shí)現(xiàn)在線開發(fā)真正的零代碼:Online表單開發(fā)、Online報表、報表配置能力、在線圖表設(shè)計(jì)、大屏設(shè)計(jì)、移動配置能力、表單設(shè)計(jì)器、在線設(shè)計(jì)流程、流程自動化配置、插件能力(可插拔)等等!
JEECG宗旨是: 簡單功能由OnlineCoding配置實(shí)現(xiàn),做到零代碼開發(fā);復(fù)雜功能由代碼生成器生成進(jìn)行手工Merge 實(shí)現(xiàn)低代碼開發(fā),既保證了智能又兼顧靈活;實(shí)現(xiàn)了低代碼開發(fā)的同時又支持靈活編碼,解決了當(dāng)前低代碼產(chǎn)品普遍不靈活的弊端!
JEECG業(yè)務(wù)流程: 采用工作流來實(shí)現(xiàn)、擴(kuò)展出任務(wù)接口,供開發(fā)編寫業(yè)務(wù)邏輯,表單提供多種解決方案:表單設(shè)計(jì)器、online配置表單、編碼表單。同時實(shí)現(xiàn)了流程與表單的分離設(shè)計(jì)(松耦合)、并支持任務(wù)節(jié)點(diǎn)靈活配置,既保證了公司流程的保密性,又減少了開發(fā)人員的工作量。
項(xiàng)目源碼
| 倉庫 | 前端 Vue3版 | 前端 Vue2版 | 后端源碼 |
| Github | jeecgboot-vue3[1] | ant-design-vue-jeecg[2] | jeecg-boot[3] |
| 碼云 | jeecgboot-vue3[4] | ant-design-vue-jeecg[5] | jeecg-boot[6] |
項(xiàng)目說明
| 項(xiàng)目名 | 說明 |
jeecg-boot | SpringBoot后臺源碼(支持微服務(wù)) |
ant-design-vue-jeecg | Vue2版前端源碼 |
jeecgboot-vue3 | Vue3+Ts版前端源碼 |
jeecg-boot-starter | stater依賴項(xiàng)目單獨(dú)維護(hù) 下載地址[7] |
適用項(xiàng)目
Jeecg-Boot低代碼開發(fā)平臺,可以應(yīng)用在任何J2EE項(xiàng)目的開發(fā)中,尤其適合SAAS項(xiàng)目、企業(yè)信息管理系統(tǒng)(MIS)、內(nèi)部辦公系統(tǒng)(OA)、企業(yè)資源計(jì)劃系統(tǒng)(ERP)、客戶關(guān)系管理系統(tǒng)(CRM)等,其半智能手工Merge的開發(fā)方式,可以顯著提高開發(fā)效率70%以上,極大降低開發(fā)成本。
技術(shù)文檔
? 技術(shù)官網(wǎng):http://www.jeecg.com
? 在線演示 : Vue2版本[8] | Vue3版本[9]
? 開發(fā)文檔: 主項(xiàng)目文檔[10] | Vue3文檔[11]
? 新手指南: 快速入門[12] | 視頻教程[13] | 常見問題 [14] | 技術(shù)支持[15] | 1分鐘體驗(yàn)低代碼[16]
? 微服務(wù)開發(fā): 單體升級為微服務(wù)[17]
后臺目錄結(jié)構(gòu)
項(xiàng)目結(jié)構(gòu)
├─jeecg-boot-parent(父POM: 項(xiàng)目依賴、modules組織)
│ ├─jeecg-boot-base-core(共通模塊: 工具類、config、權(quán)限、查詢過濾器、注解等)
│ ├─jeecg-module-demo 示例代碼
│ ├─jeecg-module-system System系統(tǒng)管理目錄
│ │ ├─jeecg-system-biz System系統(tǒng)管理權(quán)限等功能
│ │ ├─jeecg-system-start System單體啟動項(xiàng)目(8080)
│ │ ├─jeecg-system-api System系統(tǒng)管理模塊對外api
│ │ │ ├─jeecg-system-cloud-api System模塊對外提供的微服務(wù)接口
│ │ │ ├─jeecg-system-local-api System模塊對外提供的單體接口
│ ├─jeecg-server-cloud --微服務(wù)模塊
├─jeecg-cloud-gateway --微服務(wù)網(wǎng)關(guān)模塊(9999)
├─jeecg-cloud-nacos --Nacos服務(wù)模塊(8848)
├─jeecg-system-cloud-start --System微服務(wù)啟動項(xiàng)目(7001)
├─jeecg-demo-cloud-start --Demo微服務(wù)啟動項(xiàng)目(7002)
├─jeecg-visual
├─jeecg-cloud-monitor --微服務(wù)監(jiān)控模塊 (9111)
├─jeecg-cloud-xxljob --微服務(wù)xxljob定時任務(wù)服務(wù)端 (9080)
├─jeecg-cloud-sentinel --sentinel服務(wù)端 (9000)
├─jeecg-cloud-test -- 微服務(wù)測試示例(各種例子)
├─jeecg-cloud-test-more -- 微服務(wù)測試示例(feign、熔斷降級、xxljob、分布式鎖)
├─jeecg-cloud-test-rabbitmq -- 微服務(wù)測試示例(rabbitmq)
├─jeecg-cloud-test-seata -- 微服務(wù)測試示例(seata分布式事務(wù))
├─jeecg-cloud-test-shardingsphere -- 微服務(wù)測試示例(分庫分表)Docker啟動項(xiàng)目
? Docker啟動單體后臺[18]
? Docker啟動微服務(wù)后臺[19]
? Docker啟動Vue3前端[20]
? Docker啟動Vue2前端[21]
為什么選擇JEECG-BOOT?
? 1.采用最新主流前后分離框架(Springboot+Mybatis+antd),容易上手; 代碼生成器依賴性低,靈活的擴(kuò)展能力,可快速實(shí)現(xiàn)二次開發(fā);
? 2.支持微服務(wù)SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切換機(jī)制支持單體和微服務(wù)自由切換
? 3.開發(fā)效率高,采用代碼生成器,單表、樹列表、一對多、一對一等數(shù)據(jù)模型,增刪改查功能一鍵生成,菜單配置直接使用;
? 4.代碼生成器提供強(qiáng)大模板機(jī)制,支持自定義模板,目前提供四套風(fēng)格模板(單表兩套、樹模型一套、一對多三套)
? 5.代碼生成器非常智能,在線業(yè)務(wù)建模、在線配置、所見即所得支持23種類控件,一鍵生成前后端代碼,大幅度提升開發(fā)效率,不再為重復(fù)工作發(fā)愁。
? 6.低代碼能力:Online在線表單(無需編碼,通過在線配置表單,實(shí)現(xiàn)表單的增刪改查,支持單表、樹、一對多、一對一等模型,實(shí)現(xiàn)人人皆可編碼)
? 7.低代碼能力:Online在線報表(無需編碼,通過在線配置方式,實(shí)現(xiàn)數(shù)據(jù)報表,可以快速抽取數(shù)據(jù),減輕開發(fā)壓力,實(shí)現(xiàn)人人皆可編碼)
? 8.低代碼能力:Online在線圖表(無需編碼,通過在線配置方式,實(shí)現(xiàn)曲線圖,柱狀圖,數(shù)據(jù)報表等,支持自定義排版布局,實(shí)現(xiàn)人人皆可編碼)
? 9.封裝完善的用戶、角色、菜單、組織機(jī)構(gòu)、數(shù)據(jù)字典、在線定時任務(wù)等基礎(chǔ)功能,支持訪問授權(quán)、按鈕權(quán)限、數(shù)據(jù)權(quán)限等功能
? 10.常用共通封裝,各種工具類(定時任務(wù),短信接口,郵件發(fā)送,Excel導(dǎo)入導(dǎo)出等),基本滿足80%項(xiàng)目需求
? 11.簡易Excel導(dǎo)入導(dǎo)出,支持單表導(dǎo)出和一對多表模式導(dǎo)出,生成的代碼自帶導(dǎo)入導(dǎo)出功能
? 12.集成簡易報表工具,圖像報表和數(shù)據(jù)導(dǎo)出非常方便,可極其方便的生成圖形報表、pdf、excel、word等報表;
? 13.采用前后分離技術(shù),頁面UI風(fēng)格精美,針對常用組件做了封裝:時間、行表格控件、截取顯示控件、報表組件,編輯器等等
? 14.查詢過濾器:查詢功能自動生成,后臺動態(tài)拼SQL追加查詢條件;支持多種匹配方式(全匹配/模糊查詢/包含查詢/不匹配查詢);
? 15.數(shù)據(jù)權(quán)限(精細(xì)化數(shù)據(jù)權(quán)限控制,控制到行級,列表級,表單字段級,實(shí)現(xiàn)不同人看不同數(shù)據(jù),不同人對同一個頁面操作不同字段
? 16.頁面校驗(yàn)自動生成(必須輸入、數(shù)字校驗(yàn)、金額校驗(yàn)、時間空間等);
? 17.支持SAAS服務(wù)模式,提供SaaS多租戶架構(gòu)方案。
? 18.分布式文件服務(wù),集成minio、阿里OSS等優(yōu)秀的第三方,提供便捷的文件上傳與管理,同時也支持本地存儲。
? 19.主流數(shù)據(jù)庫兼容,一套代碼完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、達(dá)夢等主流數(shù)據(jù)庫。
? 20.集成工作流activiti,并實(shí)現(xiàn)了只需在頁面配置流程轉(zhuǎn)向,可極大的簡化bpm工作流的開發(fā);用bpm的流程設(shè)計(jì)器畫出了流程走向,一個工作流基本就完成了,只需寫很少量的java代碼;
? 21.低代碼能力:在線流程設(shè)計(jì),采用開源Activiti流程引擎,實(shí)現(xiàn)在線畫流程,自定義表單,表單掛靠,業(yè)務(wù)流轉(zhuǎn)
? 22.多數(shù)據(jù)源:及其簡易的使用方式,在線配置數(shù)據(jù)源配置,便捷的從其他數(shù)據(jù)抓取數(shù)據(jù);
? 23.提供單點(diǎn)登錄CAS集成方案,項(xiàng)目中已經(jīng)提供完善的對接代碼
? 24.低代碼能力:表單設(shè)計(jì)器,支持用戶自定義表單布局,支持單表,一對多表單、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
? 25.專業(yè)接口對接機(jī)制,統(tǒng)一采用restful接口方式,集成swagger-ui在線接口文檔,Jwt token安全驗(yàn)證,方便客戶端對接
? 26.接口安全機(jī)制,可細(xì)化控制接口授權(quán),非常簡便實(shí)現(xiàn)不同客戶端只看自己數(shù)據(jù)等控制
? 27.高級組合查詢功能,在線配置支持主子表關(guān)聯(lián)查詢,可保存查詢歷史
? 28.提供各種系統(tǒng)監(jiān)控,實(shí)時跟蹤系統(tǒng)運(yùn)行情況(監(jiān)控 Redis、Tomcat、jvm、服務(wù)器信息、請求追蹤、SQL監(jiān)控)
? 29.消息中心(支持短信、郵件、微信推送等等)
? 30.集成Websocket消息通知機(jī)制
? 31.移動自適應(yīng)效果優(yōu)秀,提供APP發(fā)布方案:
? 32.支持多語言,提供國際化方案;
? 33.數(shù)據(jù)變更記錄日志,可記錄數(shù)據(jù)每次變更內(nèi)容,通過版本對比功能查看歷史變化
? 34.平臺UI強(qiáng)大,實(shí)現(xiàn)了移動自適應(yīng)
? 35.平臺首頁風(fēng)格,提供多種組合模式,支持自定義風(fēng)格
? 36.提供簡單易用的打印插件,支持谷歌、火狐、IE11+ 等各種瀏覽器
? 37.示例代碼豐富,提供很多學(xué)習(xí)案例參考
? 38.采用maven分模塊開發(fā)方式
? 39.支持菜單動態(tài)路由
? 40.權(quán)限控制采用 RBAC(Role-Based Access Control,基于角色的訪問控制)
? 41.提供新行編輯表格JVXETable,輕松滿足各種復(fù)雜ERP布局,擁有更高的性能、更靈活的擴(kuò)展、更強(qiáng)大的功能
技術(shù)架構(gòu):
開發(fā)環(huán)境
? 語言:Java 8+ (小于17)
? IDE(JAVA):IDEA (必須安裝lombok插件 )
? IDE(前端):Vscode、WebStorm、IDEA
? 依賴管理:Maven
? 緩存:Redis
? 數(shù)據(jù)庫腳本:MySQL5.7+ & Oracle 11g & Sqlserver2017(其他數(shù)據(jù)庫,需要自己轉(zhuǎn)[22])
后端
? 基礎(chǔ)框架:Spring Boot 2.6.6
? 微服務(wù)框架:Spring Cloud Alibaba 2021.0.1.0
? 持久層框架:MybatisPlus 3.5.1
? 報表工具:JimuReport 1.5.2
? 安全框架:Apache Shiro 1.8.0,Jwt 3.11.0
? 微服務(wù)技術(shù)棧:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking
? 數(shù)據(jù)庫連接池:阿里巴巴Druid 1.1.22
? 日志打?。簂ogback
? 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(簡化代碼)等。
前端
? Vue2版本:
Vue2.6+@vue/cli+AntDesignVue+Viser-vue+Vuex等詳細(xì)查看[23]? Vue3版本:
Vue3.0+TypeScript+Vite+AntDesignVue+pinia+echarts等新方案詳細(xì)查看[24]
支持庫
| 數(shù)據(jù)庫 | 支持 |
| MySQL | √ |
| Oracle11g | √ |
| Sqlserver2017 | √ |
| PostgreSQL | √ |
| MariaDB | √ |
| 達(dá)夢、人大金倉 | √ |
微服務(wù)解決方案
1、服務(wù)注冊和發(fā)現(xiàn) Nacos √
2、統(tǒng)一配置中心 Nacos √
3、路由網(wǎng)關(guān) gateway(三種加載方式) √
4、分布式 http feign √
5、熔斷降級限流 Sentinel √
6、分布式文件 Minio、阿里OSS √
7、統(tǒng)一權(quán)限控制 JWT + Shiro √
8、服務(wù)監(jiān)控 SpringBootAdmin√
9、鏈路跟蹤 Skywalking 參考文檔[25]
10、消息中間件 RabbitMQ √
11、分布式任務(wù) xxl-job √
12、分布式事務(wù) Seata
13、分布式日志 elk + kafka
14、支持 docker-compose、k8s、jenkins
15、CAS 單點(diǎn)登錄 √
16、路由限流 √
微服務(wù)架構(gòu)圖

Jeecg Boot 產(chǎn)品功能藍(lán)圖

功能模塊
├─系統(tǒng)管理
│ ├─用戶管理
│ ├─角色管理
│ ├─菜單管理
│ ├─權(quán)限設(shè)置(支持按鈕權(quán)限、數(shù)據(jù)權(quán)限)
│ ├─表單權(quán)限(控制字段禁用、隱藏)
│ ├─部門管理
│ ├─我的部門(二級管理員)
│ └─字典管理
│ └─分類字典
│ └─系統(tǒng)公告
│ └─職務(wù)管理
│ └─通訊錄
│ └─多租戶管理
├─消息中心
│ ├─消息管理
│ ├─模板管理
├─代碼生成器(低代碼)
│ ├─代碼生成器功能(一鍵生成前后端代碼,生成后無需修改直接用,絕對是后端開發(fā)福音)
│ ├─代碼生成器模板(提供4套模板,分別支持單表和一對多模型,不同風(fēng)格選擇)
│ ├─代碼生成器模板(生成代碼,自帶excel導(dǎo)入導(dǎo)出)
│ ├─查詢過濾器(查詢邏輯無需編碼,系統(tǒng)根據(jù)頁面配置自動生成)
│ ├─高級查詢器(彈窗自動組合查詢條件)
│ ├─Excel導(dǎo)入導(dǎo)出工具集成(支持單表,一對多 導(dǎo)入導(dǎo)出)
│ ├─平臺移動自適應(yīng)支持
├─系統(tǒng)監(jiān)控
│ ├─Gateway路由網(wǎng)關(guān)
│ ├─性能掃描監(jiān)控
│ │ ├─監(jiān)控 Redis
│ │ ├─Tomcat
│ │ ├─jvm
│ │ ├─服務(wù)器信息
│ │ ├─請求追蹤
│ │ ├─磁盤監(jiān)控
│ ├─定時任務(wù)
│ ├─系統(tǒng)日志
│ ├─消息中心(支持短信、郵件、微信推送等等)
│ ├─數(shù)據(jù)日志(記錄數(shù)據(jù)快照,可對比快照,查看數(shù)據(jù)變更情況)
│ ├─系統(tǒng)通知
│ ├─SQL監(jiān)控
│ ├─swagger-ui(在線接口文檔)
│─報表示例
│ ├─曲線圖
│ └─餅狀圖
│ └─柱狀圖
│ └─折線圖
│ └─面積圖
│ └─雷達(dá)圖
│ └─儀表圖
│ └─進(jìn)度條
│ └─排名列表
│ └─等等
│─大屏模板
│ ├─作戰(zhàn)指揮中心大屏
│ └─物流服務(wù)中心大屏
│─常用示例
│ ├─自定義組件
│ ├─對象存儲(對接阿里云)
│ ├─JVXETable示例(各種復(fù)雜ERP布局示例)
│ ├─單表模型例子
│ └─一對多模型例子
│ └─打印例子
│ └─一對多TAB例子
│ └─內(nèi)嵌table例子
│ └─常用選擇組件
│ └─異步樹table
│ └─接口模擬測試
│ └─表格合計(jì)示例
│ └─異步樹列表示例
│ └─一對多JEditable
│ └─JEditable組件示例
│ └─圖片拖拽排序
│ └─圖片翻頁
│ └─圖片預(yù)覽
│ └─PDF預(yù)覽
│ └─分屏功能
│─封裝通用組件
│ ├─行編輯表格JEditableTable
│ └─省略顯示組件
│ └─時間控件
│ └─高級查詢
│ └─用戶選擇組件
│ └─報表組件封裝
│ └─字典組件
│ └─下拉多選組件
│ └─選人組件
│ └─選部門組件
│ └─通過部門選人組件
│ └─封裝曲線、柱狀圖、餅狀圖、折線圖等等報表的組件(經(jīng)過封裝,使用簡單)
│ └─在線code編輯器
│ └─上傳文件組件
│ └─驗(yàn)證碼組件
│ └─樹列表組件
│ └─表單禁用組件
│ └─等等
│─更多頁面模板
│ ├─各種高級表單
│ ├─各種列表效果
│ └─結(jié)果頁面
│ └─異常頁面
│ └─個人頁面
├─高級功能
│ ├─系統(tǒng)編碼規(guī)則
│ ├─提供單點(diǎn)登錄CAS集成方案
│ ├─提供APP發(fā)布方案
│ ├─集成Websocket消息通知機(jī)制
├─Online在線開發(fā)(低代碼)
│ ├─Online在線表單 - 功能已開放
│ ├─Online代碼生成器 - 功能已開放
│ ├─Online在線報表 - 功能已開放
│ ├─Online在線圖表(未開源)
│ ├─Online圖表模板配置(未開源)
│ ├─Online布局設(shè)計(jì)(未開源)
│ ├─多數(shù)據(jù)源管理 - 功能已開放
├─積木報表設(shè)計(jì)器(低代碼)
│ ├─打印設(shè)計(jì)器
│ ├─數(shù)據(jù)報表設(shè)計(jì)
│ ├─圖形報表設(shè)計(jì)(支持echart)
│ ├─大屏設(shè)計(jì)器(未開源)
│─流程模塊功能 (未開源)
│ ├─流程設(shè)計(jì)器
│ ├─表單設(shè)計(jì)器
├─大屏設(shè)計(jì)器
├─門戶設(shè)計(jì)/儀表盤設(shè)計(jì)器
│ └─我的任務(wù)
│ └─歷史流程
│ └─歷史流程
│ └─流程實(shí)例管理
│ └─流程監(jiān)聽管理
│ └─流程表達(dá)式
│ └─我發(fā)起的流程
│ └─我的抄送
│ └─流程委派、抄送、跳轉(zhuǎn)
│ └─。。。
│─OA辦公組件 (未開源)
│ ├─更多功能
│ └─。。。
└─其他模塊
└─更多功能開發(fā)中。。
系統(tǒng)效果
大屏模板


PC端





在線接口文檔


報表





流程




手機(jī)端


PAD端




源碼獲取:直接點(diǎn)擊閱讀原文
