Jeecg-Boot基于代碼生成器的 J2EE 開發(fā)平臺(tái)
JeecgBoot 是一款基于代碼生成器的低代碼平臺(tái)!前后端分離架構(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ā)成本,同時(shí)又不失靈活性!
JeecgBoot 提供了一系列低代碼模塊,實(shí)現(xiàn)在線開發(fā)真正的零代碼:Online表單開發(fā)、Online報(bào)表、報(bào)表配置能力、在線圖表設(shè)計(jì)、大屏設(shè)計(jì)、移動(dòng)配置能力、表單設(shè)計(jì)器、在線設(shè)計(jì)流程、流程自動(dòng)化配置、插件能力(可插拔)等等!
JEECG宗旨是: 簡(jiǎn)單功能由OnlineCoding配置實(shí)現(xiàn),做到零代碼開發(fā);復(fù)雜功能由代碼生成器生成進(jìn)行手工Merge 實(shí)現(xiàn)低代碼開發(fā),既保證了智能又兼顧靈活;實(shí)現(xiàn)了低代碼開發(fā)的同時(shí)又支持靈活編碼,解決了當(dāng)前低代碼產(chǎn)品普遍不靈活的弊端!
JEECG業(yè)務(wù)流程: 采用工作流來實(shí)現(xiàn)、擴(kuò)展出任務(wù)接口,供開發(fā)編寫業(yè)務(wù)邏輯,表單提供多種解決方案: 表單設(shè)計(jì)器、online配置表單、編碼表單。同時(shí)實(shí)現(xiàn)了流程與表單的分離設(shè)計(jì)(松耦合)、并支持任務(wù)節(jié)點(diǎn)靈活配置,既保證了公司流程的保密性,又減少了開發(fā)人員的工作量。
適用項(xiàng)目
Jeecg-Boot低代碼開發(fā)平臺(tái),可以應(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ā)成本。
JAVA編程有很多重復(fù)機(jī)械代碼,生成器可以幫助解決70%的重復(fù)工作,讓開發(fā)更多關(guān)注業(yè)務(wù)邏輯,從而實(shí)現(xiàn)代碼生成+手工merge的半智能開發(fā)!JeecgBoot 采用全新的技術(shù)架構(gòu),智能框架可以有效解決信息孤島問題,生成統(tǒng)一代碼、統(tǒng)一規(guī)范、統(tǒng)一設(shè)計(jì)思路,使你能在這個(gè)平臺(tái)上,快速開發(fā)出高效高質(zhì)量代碼,降低項(xiàng)目成本,縮短開發(fā)周期。
官方文檔
- 官方網(wǎng)站 : http://www.jeecg.com
- 在線演示 : http://boot.jeecg.com
- 源碼下載: https://github.com/jeecgboot/jeecg-boot
- 在線文檔 : http://doc.jeecg.com
- 快速入門: 新手零基礎(chǔ)入門
為什么選擇 JeecgBoot?
- 1.采用最新主流前后分離框架(Springboot+Mybatis+antd),容易上手; 代碼生成器依賴性低,靈活的擴(kuò)展能力,可快速實(shí)現(xiàn)二次開發(fā);
- 2.支持微服務(wù)SpringCloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供切換機(jī)制支持單體和微服務(wù)自由切換
- 3.開發(fā)效率高,采用代碼生成器,單表、樹列表、一對(duì)多、一對(duì)一等數(shù)據(jù)模型,增刪改查功能一鍵生成,菜單配置直接使用;
- 4.代碼生成器提供強(qiáng)大模板機(jī)制,支持自定義模板,目前提供四套風(fēng)格模板(單表兩套、樹模型一套、一對(duì)多三套)
- 5.代碼生成器非常智能,在線業(yè)務(wù)建模、在線配置、所見即所得支持23種類控件,一鍵生成前后端代碼,大幅度提升開發(fā)效率,不再為重復(fù)工作發(fā)愁。
- 6.低代碼能力:Online在線表單(無需編碼,通過在線配置表單,實(shí)現(xiàn)表單的增刪改查,支持單表、樹、一對(duì)多、一對(duì)一等模型,實(shí)現(xiàn)人人皆可編碼)
- 7.低代碼能力:Online在線報(bào)表(無需編碼,通過在線配置方式,實(shí)現(xiàn)數(shù)據(jù)報(bào)表,可以快速抽取數(shù)據(jù),減輕開發(fā)壓力,實(shí)現(xiàn)人人皆可編碼)
- 8.低代碼能力:Online在線圖表(無需編碼,通過在線配置方式,實(shí)現(xiàn)曲線圖,柱狀圖,數(shù)據(jù)報(bào)表等,支持自定義排版布局,實(shí)現(xiàn)人人皆可編碼)
- 9.封裝完善的用戶、角色、菜單、組織機(jī)構(gòu)、數(shù)據(jù)字典、在線定時(shí)任務(wù)等基礎(chǔ)功能,支持訪問授權(quán)、按鈕權(quán)限、數(shù)據(jù)權(quán)限等功能
- 10.常用共通封裝,各種工具類(定時(shí)任務(wù),短信接口,郵件發(fā)送,Excel導(dǎo)入導(dǎo)出等),基本滿足80%項(xiàng)目需求
- 11.簡(jiǎn)易Excel導(dǎo)入導(dǎo)出,支持單表導(dǎo)出和一對(duì)多表模式導(dǎo)出,生成的代碼自帶導(dǎo)入導(dǎo)出功能
- 12.集成簡(jiǎn)易報(bào)表工具,圖像報(bào)表和數(shù)據(jù)導(dǎo)出非常方便,可極其方便的生成圖形報(bào)表、pdf、excel、word等報(bào)表;
- 13.采用前后分離技術(shù),頁面UI風(fēng)格精美,針對(duì)常用組件做了封裝:時(shí)間、行表格控件、截取顯示控件、報(bào)表組件,編輯器等等
- 14.查詢過濾器:查詢功能自動(dòng)生成,后臺(tái)動(dòng)態(tài)拼SQL追加查詢條件;支持多種匹配方式(全匹配/模糊查詢/包含查詢/不匹配查詢);
- 15.數(shù)據(jù)權(quán)限(精細(xì)化數(shù)據(jù)權(quán)限控制,控制到行級(jí),列表級(jí),表單字段級(jí),實(shí)現(xiàn)不同人看不同數(shù)據(jù),不同人對(duì)同一個(gè)頁面操作不同字段
- 16.頁面校驗(yàn)自動(dòng)生成(必須輸入、數(shù)字校驗(yàn)、金額校驗(yàn)、時(shí)間空間等);
- 17.支持SAAS服務(wù)模式,提供SaaS多租戶架構(gòu)方案。
- 18.分布式文件服務(wù),集成minio、阿里OSS等優(yōu)秀的第三方,提供便捷的文件上傳與管理,同時(shí)也支持本地存儲(chǔ)。
- 19.主流數(shù)據(jù)庫兼容,一套代碼完全兼容Mysql、Postgresql、Oracle、Sqlserver、MariaDB、達(dá)夢(mèng)等主流數(shù)據(jù)庫。
- 20.集成工作流activiti,并實(shí)現(xiàn)了只需在頁面配置流程轉(zhuǎn)向,可極大的簡(jiǎn)化bpm工作流的開發(fā);用bpm的流程設(shè)計(jì)器畫出了流程走向,一個(gè)工作流基本就完成了,只需寫很少量的java代碼;
- 21.低代碼能力:在線流程設(shè)計(jì),采用開源Activiti流程引擎,實(shí)現(xiàn)在線畫流程,自定義表單,表單掛靠,業(yè)務(wù)流轉(zhuǎn)
- 22.多數(shù)據(jù)源:及其簡(jiǎn)易的使用方式,在線配置數(shù)據(jù)源配置,便捷的從其他數(shù)據(jù)抓取數(shù)據(jù);
- 23.提供單點(diǎn)登錄CAS集成方案,項(xiàng)目中已經(jīng)提供完善的對(duì)接代碼
- 24.低代碼能力:表單設(shè)計(jì)器,支持用戶自定義表單布局,支持單表,一對(duì)多表單、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
- 25.專業(yè)接口對(duì)接機(jī)制,統(tǒng)一采用restful接口方式,集成swagger-ui在線接口文檔,Jwt token安全驗(yàn)證,方便客戶端對(duì)接
- 26.接口安全機(jī)制,可細(xì)化控制接口授權(quán),非常簡(jiǎn)便實(shí)現(xiàn)不同客戶端只看自己數(shù)據(jù)等控制
- 27.高級(jí)組合查詢功能,在線配置支持主子表關(guān)聯(lián)查詢,可保存查詢歷史
- 28.提供各種系統(tǒng)監(jiān)控,實(shí)時(shí)跟蹤系統(tǒng)運(yùn)行情況(監(jiān)控 Redis、Tomcat、jvm、服務(wù)器信息、請(qǐng)求追蹤、SQL監(jiān)控)
- 29.消息中心(支持短信、郵件、微信推送等等)
- 30.集成Websocket消息通知機(jī)制
- 31.移動(dòng)自適應(yīng)效果優(yōu)秀,提供APP發(fā)布方案:
- 32.支持多語言,提供國際化方案;
- 33.數(shù)據(jù)變更記錄日志,可記錄數(shù)據(jù)每次變更內(nèi)容,通過版本對(duì)比功能查看歷史變化
- 34.平臺(tái)UI強(qiáng)大,實(shí)現(xiàn)了移動(dòng)自適應(yīng)
- 35.平臺(tái)首頁風(fēng)格,提供多種組合模式,支持自定義風(fēng)格
- 36.提供簡(jiǎn)單易用的打印插件,支持谷歌、火狐、IE11+ 等各種瀏覽器
- 37.示例代碼豐富,提供很多學(xué)習(xí)案例參考
- 38.采用maven分模塊開發(fā)方式
- 39.支持菜單動(dòng)態(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
-
IDE(JAVA): IDEA / Eclipse安裝lombok插件
-
IDE(前端): WebStorm 或者 IDEA
-
依賴管理:Maven
-
緩存:Redis
兼容數(shù)據(jù)庫
默認(rèn)只提供這三個(gè)庫腳本,其他庫需要自己轉(zhuǎn):MySQL5.7+ & Oracle 11g & Sqlserver2017
| 數(shù)據(jù)庫 | 支持 |
|---|---|
| MySQL | √ |
| Oracle11g | √ |
| Sqlserver2017 | √ |
| PostgreSQL | √ |
| DB2、Informix | √ |
| MariaDB | √ |
| SQLite、Hsqldb、Derby、H2 | √ |
| 達(dá)夢(mèng)、人大金倉、神通 | √ |
| 華為高斯、虛谷、瀚高數(shù)據(jù)庫 | √ |
| 阿里云PolarDB、PPAS、HerdDB | √ |
| Hive、HBase、CouchBase | √ |
后端
-
基礎(chǔ)框架:Spring Boot 2.3.5.RELEASE
-
微服務(wù)框架: Spring Cloud Alibaba 2.2.3.RELEASE
-
持久層框架:Mybatis-plus 3.4.3.1、Minidao
-
報(bào)表工具: jimureport 1.3.78
-
安全框架:Apache Shiro 1.7.0,Jwt 3.11.0
-
微服務(wù)技術(shù)棧:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking
-
數(shù)據(jù)庫連接池:阿里巴巴Druid 1.1.22
-
緩存框架:redis
-
日志打印:logback
-
其他:fastjson,poi,Swagger-ui,quartz, lombok(簡(jiǎn)化代碼)等。
前端
- Vue 2.6.10,Vuex,Vue Router
- Axios
- ant-design-vue
- webpack,yarn
- vue-cropper - 頭像裁剪組件
- @antv/g2 - Alipay AntV 數(shù)據(jù)可視化圖表
- Viser-vue - antv/g2 封裝實(shí)現(xiàn)
- eslint,@vue/cli 3.2.1
- vue-print-nb - 打印
功能模塊
├─系統(tǒng)管理
│ ├─用戶管理
│ ├─角色管理
│ ├─菜單管理
│ ├─權(quán)限設(shè)置(支持按鈕權(quán)限、數(shù)據(jù)權(quán)限)
│ ├─表單權(quán)限(控制字段禁用、隱藏)
│ ├─部門管理
│ ├─我的部門(二級(jí)管理員)
│ └─字典管理
│ └─分類字典
│ └─系統(tǒng)公告
│ └─職務(wù)管理
│ └─通訊錄
│ └─多租戶管理
├─消息中心
│ ├─消息管理
│ ├─模板管理
├─代碼生成器(低代碼)
│ ├─代碼生成器功能(一鍵生成前后端代碼,生成后無需修改直接用,絕對(duì)是后端開發(fā)福音)
│ ├─代碼生成器模板(提供4套模板,分別支持單表和一對(duì)多模型,不同風(fēng)格選擇)
│ ├─代碼生成器模板(生成代碼,自帶excel導(dǎo)入導(dǎo)出)
│ ├─查詢過濾器(查詢邏輯無需編碼,系統(tǒng)根據(jù)頁面配置自動(dòng)生成)
│ ├─高級(jí)查詢器(彈窗自動(dòng)組合查詢條件)
│ ├─Excel導(dǎo)入導(dǎo)出工具集成(支持單表,一對(duì)多 導(dǎo)入導(dǎo)出)
│ ├─平臺(tái)移動(dòng)自適應(yīng)支持
├─系統(tǒng)監(jiān)控
│ ├─Gateway路由網(wǎng)關(guān)
│ ├─性能掃描監(jiān)控
│ │ ├─監(jiān)控 Redis
│ │ ├─Tomcat
│ │ ├─jvm
│ │ ├─服務(wù)器信息
│ │ ├─請(qǐng)求追蹤
│ │ ├─磁盤監(jiān)控
│ ├─定時(shí)任務(wù)
│ ├─系統(tǒng)日志
│ ├─消息中心(支持短信、郵件、微信推送等等)
│ ├─數(shù)據(jù)日志(記錄數(shù)據(jù)快照,可對(duì)比快照,查看數(shù)據(jù)變更情況)
│ ├─系統(tǒng)通知
│ ├─SQL監(jiān)控
│ ├─swagger-ui(在線接口文檔)
│─報(bào)表示例
│ ├─曲線圖
│ └─餅狀圖
│ └─柱狀圖
│ └─折線圖
│ └─面積圖
│ └─雷達(dá)圖
│ └─儀表圖
│ └─進(jìn)度條
│ └─排名列表
│ └─等等
│─大屏模板
│ ├─作戰(zhàn)指揮中心大屏
│ └─物流服務(wù)中心大屏
│─常用示例
│ ├─自定義組件
│ ├─對(duì)象存儲(chǔ)(對(duì)接阿里云)
│ ├─JVXETable示例(各種復(fù)雜ERP布局示例)
│ ├─單表模型例子
│ └─一對(duì)多模型例子
│ └─打印例子
│ └─一對(duì)多TAB例子
│ └─內(nèi)嵌table例子
│ └─常用選擇組件
│ └─異步樹table
│ └─接口模擬測(cè)試
│ └─表格合計(jì)示例
│ └─異步樹列表示例
│ └─一對(duì)多JEditable
│ └─JEditable組件示例
│ └─圖片拖拽排序
│ └─圖片翻頁
│ └─圖片預(yù)覽
│ └─PDF預(yù)覽
│ └─分屏功能
│─封裝通用組件
│ ├─行編輯表格JEditableTable
│ └─省略顯示組件
│ └─時(shí)間控件
│ └─高級(jí)查詢
│ └─用戶選擇組件
│ └─報(bào)表組件封裝
│ └─字典組件
│ └─下拉多選組件
│ └─選人組件
│ └─選部門組件
│ └─通過部門選人組件
│ └─封裝曲線、柱狀圖、餅狀圖、折線圖等等報(bào)表的組件(經(jīng)過封裝,使用簡(jiǎn)單)
│ └─在線code編輯器
│ └─上傳文件組件
│ └─驗(yàn)證碼組件
│ └─樹列表組件
│ └─表單禁用組件
│ └─等等
│─更多頁面模板
│ ├─各種高級(jí)表單
│ ├─各種列表效果
│ └─結(jié)果頁面
│ └─異常頁面
│ └─個(gè)人頁面
├─高級(jí)功能
│ ├─系統(tǒng)編碼規(guī)則
│ ├─提供單點(diǎn)登錄CAS集成方案
│ ├─提供APP發(fā)布方案
│ ├─集成Websocket消息通知機(jī)制
├─Online在線開發(fā)(低代碼)
│ ├─Online在線表單 - 功能已開放
│ ├─Online代碼生成器 - 功能已開放
│ ├─Online在線報(bào)表 - 功能已開放
│ ├─Online在線圖表(暫不開源)
│ ├─Online圖表模板配置(暫不開源)
│ ├─Online布局設(shè)計(jì)(暫不開源)
│ ├─多數(shù)據(jù)源管理 - 功能已開放
├─積木報(bào)表設(shè)計(jì)器(低代碼)
│ ├─打印設(shè)計(jì)器
│ ├─數(shù)據(jù)報(bào)表設(shè)計(jì)
│ ├─圖形報(bào)表設(shè)計(jì)(支持echart)
│ ├─大屏設(shè)計(jì)器(暫不開源)
│─流程模塊功能 (暫不開源)
│ ├─流程設(shè)計(jì)器
│ ├─在線表單設(shè)計(jì)
│ └─我的任務(wù)
│ └─歷史流程
│ └─歷史流程
│ └─流程實(shí)例管理
│ └─流程監(jiān)聽管理
│ └─流程表達(dá)式
│ └─我發(fā)起的流程
│ └─我的抄送
│ └─流程委派、抄送、跳轉(zhuǎn)
│ └─。。。
└─其他模塊
└─更多功能開發(fā)中。。
微服務(wù)解決方案
1、服務(wù)注冊(cè)和發(fā)現(xiàn) Nacos
2、統(tǒng)一配置中心 Nacos
3、路由網(wǎng)關(guān) gateway(三種加載方式)
4、分布式 http feign
5、熔斷和降級(jí) Sentinel
6、分布式文件 Minio、阿里OSS
7、統(tǒng)一權(quán)限控制 JWT + Shiro
8、服務(wù)監(jiān)控 SpringBootAdmin
9、鏈路跟蹤 Skywalking 參考文檔
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)圖
JeecgBoot 產(chǎn)品藍(lán)圖
后臺(tái)開發(fā)環(huán)境和
前端下載運(yùn)行
- 拉取項(xiàng)目代碼
git clone https://github.com/jeecgboot/jeecg-boot cd jeecg-boot/ant-design-jeecg-vue
- 安裝node.js(10+)
- 切換到ant-design-jeecg-vue文件夾下
# 安裝yarn npm install -g yarn # 下載依賴 yarn install # 啟動(dòng) yarn run serve # 編譯項(xiàng)目 yarn run build # Lints and fixes files yarn run lint
系統(tǒng)效果
PC端
在線接口文檔
報(bào)表
流程
手機(jī)端
PAD端
