一款基于代碼生成器的JAVA快速開發平臺!全新架構前后端分離:SpringBoot 2.x,Ant Design&Vue&,Mybatis,Shiro,JWT。強大的代碼生成器讓前后端代碼一鍵生成,無需寫任何代碼,絕對是全棧開發福音??! JeecgBoot的宗旨是提高UI能力的同時,降低前后分離的開發成本,JeecgBoot還獨創在線開發模式,No代碼概念,一系列在線智能開發:在線配置表單、在線配置報表、在線設計流程等等。
概述
Jeecg-Boot 是一款基于SpringBoot+代碼生成器的快速開發平臺!前后端分離架構:SpringBoot,Ant Design Vue,Mybatis,Shiro,JWT。強大的代碼生成器讓前端和后臺代碼一鍵生成,不需要寫任何代碼,保持jeecg一貫的強大,絕對是全棧開發福音!!JeecgBoot在提高UI能力的同時,降低了前后分離的開發成本,JeecgBoot還獨創在線開發模式(No代碼概念),一系列在線智能開發:在線配置表單、在線配置報表、在線圖表設計、在線設計流程等等。
JEECG宗旨是: 簡單功能由Online Coding配置實現(在線配置表單、在線配置報表、在線圖表設計、在線設計流程、在線設計表單),復雜功能由代碼生成器生成進行手工Merge,既保證了智能又兼顧了靈活; 業務流程采用工作流來實現、擴展出任務接口,供開發編寫業務邏輯,表單提供多種解決方案:表單設計器、online配置表單、編碼表單。同時實現了流程與表單的分離設計(松耦合)、并支持任務節點靈活配置,既保證了公司流程的保密性,又減少了開發人員的工作量。ecg-Boot快速開發平臺,可以應用在任何J2EE項目的開發中,尤其適合企業信息管理系統(MIS)、內部辦公系統(OA)、企業資源計劃系統(ERP)、客戶關系管理系統(CRM)等,其半智能手工Merge的開發方式,可以顯著提高開發效率70%以上,極大降低開發成本。
選型
為什么選擇JEECG-BOOT?
- 1.采用最新主流前后分離框架(Springboot+Mybatis+antd),容易上手; 代碼生成器依賴性低,靈活的擴展能力,可靈活實現二次開發;
- 2.開發效率很高,采用代碼生成器,單表數據模型和一對多(父子表)數據模型,增刪改查功能自動生成,菜單配置直接使用;
- 3.代碼生成器提供強大模板機制,支持自定義模板風格。目前提供四套風格模板(單表兩套、一對多兩套)
- 4.封裝完善的用戶、角色、菜單、組織機構、數據字典、在線定時任務等基礎功能,支持訪問授權、按鈕權限、數據權限等功能
- 5.常用共通封裝,各種工具類(定時任務,短信接口,郵件發送,Excel導入導出等),基本滿足80%項目需求
- 6.簡易Excel導入導出,支持單表導出和一對多表模式導出,生成的代碼自帶導入導出功能
- 7.集成簡易報表工具,圖像報表和數據導出非常方便,可極其方便的生成圖形報表、pdf、excel、word等報表;
- 8.采用前后分離技術,頁面UI風格精美,針對常用組件做了封裝:時間、行表格控件、截取顯示控件、報表組件,編輯器等等
- 9.查詢過濾器:查詢功能自動生成,后臺動態拼SQL追加查詢條件;支持多種匹配方式(全匹配/模糊查詢/包含查詢/不匹配查詢);
- 10.數據權限(精細化數據權限控制,控制到行級,列表級,表單字段級,實現不同人看不同數據,不同人對同一個頁面操作不同字段
- 11.在線配置報表(無需編碼,通過在線配置方式,實現曲線圖,柱狀圖,數據等報表)
- 12.頁面校驗自動生成(必須輸入、數字校驗、金額校驗、時間空間等);
- 13.集成工作流activiti,并實現了只需在頁面配置流程轉向,可極大的簡化bpm工作流的開發;用bpm的流程設計器畫出了流程走向,一個工作流基本就完成了,只需寫很少量的java代碼;
- 14.在線流程設計,采用開源Activiti流程引擎,實現在線畫流程,自定義表單,表單掛靠,業務流轉
- 15.多數據源:及其簡易的使用方式,在線配置數據源配置,便捷的從其他數據抓取數據;
- 16.國際化:支持多語言,開發國際化項目非常方便;
- 17.表單設計器,支持用戶自定義表單布局,支持單表,一對多表單、支持select、radio、checkbox、textarea、date、popup、列表、宏等控件
- 18.專業接口對接機制,統一采用restful接口方式,集成swagger-ui在線接口文檔,Jwt token安全驗證,方便客戶端對接
- 19.接口安全機制,可細化控制接口授權,非常簡便實現不同客戶端只看自己數據等控制
- 20.高級組合查詢功能,在線配置支持主子表關聯查詢,可保存查詢歷史
- 21.提供各種系統監控,實時跟蹤系統運行情況(監控 Redis、Tomcat、jvm、服務器信息、請求追蹤、SQL監控)
- 22.消息中心(支持短信、郵件、微信推送等等)
- 22.數據變更記錄日志,可記錄數據每次變更內容,通過版本對比功能查看歷史變化
- 23.平臺UI強大,實現了移動自適應
- 24.平臺首頁風格,提供多種組合模式,支持自定義風格
- 25.提供簡單易用的打印插件,支持谷歌、IE瀏覽器等各種瀏覽器
- 26.示例代碼豐富,提供很多學習案例參考
- 27.采用maven分模塊開發方式
- 27.支持菜單動態路由
- 28.權限控制采用 RBAC(Role-Based Access Control,基于角色的訪問控制)
技術架構:
后端
- 基礎框架:Spring Boot 2.1.3.RELEASE
- 持久層框架:Mybatis-plus_3.1.2
- 安全框架:Apache Shiro 1.4.0,Jwt_3.7.0
- 數據庫連接池:阿里巴巴Druid 1.1.10
- 緩存框架:redis
- 日志打印:logback
- 其他: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 - 打印
開發環境
- 語言:Java 8
- IDE(JAVA): Eclipse安裝lombok插件 或者 IDEA
- IDE(前端): WebStorm 或者 IDEA
- 依賴管理:Maven
- 數據庫:MySQL5.0 & Oracle 11g & Sqlserver2005
- 緩存:Redis
功能
<pre class="prism-token token language-javascript" style="box-sizing: border-box; list-style: inherit; margin: 24px 0px; font: 400 14px / 1.45 Consolas, "Liberation Mono", Menlo, Courier, monospace; padding: 16px; overflow: auto; background-color: rgb(247, 247, 247); border-radius: 3px; overflow-wrap: normal; text-align: left; white-space: pre; word-spacing: 0px; word-break: normal; tab-size: 2; hyphens: none; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">├─系統管理
│ ├─用戶管理
│ ├─角色管理
│ ├─菜單管理
│ ├─權限設置(支持按鈕權限、數據權限)
│ ├─表單權限(控制字段禁用、隱藏)
│ ├─部門管理
│ └─字典管理
│ └─樹分類字典
│ └─系統公告
│ └─我的組織機構
├─消息中心
│ ├─消息管理
│ ├─模板管理
├─智能化功能
│ ├─代碼生成器功能(一鍵生成前后端代碼,生成后無需修改直接用,絕對是后端開發福音)
│ ├─代碼生成器模板(提供4套模板,分別支持單表和一對多模型,不同風格選擇)
│ ├─代碼生成器模板(生成代碼,自帶excel導入導出)
│ ├─查詢過濾器(查詢邏輯無需編碼,系統根據頁面配置自動生成)
│ ├─高級查詢器(彈窗自動組合查詢條件)
│ ├─Excel導入導出工具集成(支持單表,一對多 導入導出)
│ ├─平臺移動自適應支持
├─系統監控
│ ├─性能掃描監控
│ │ ├─監控 Redis
│ │ ├─Tomcat
│ │ ├─jvm
│ │ ├─服務器信息
│ │ ├─請求追蹤
│ │ ├─磁盤監控
│ ├─定時任務
│ ├─系統日志
│ ├─消息中心(支持短信、郵件、微信推送等等)
│ ├─數據日志(記錄數據快照,可對比快照,查看數據變更情況)
│ ├─系統通知
│ ├─SQL監控
│ ├─swagger-ui(在線接口文檔)
│─報表示例
│ ├─曲線圖
│ └─餅狀圖
│ └─柱狀圖
│ └─折線圖
│ └─面積圖
│ └─雷達圖
│ └─儀表圖
│ └─進度條
│ └─排名列表
│ └─等等
│─常用示例
│ ├─單表模型例子
│ └─一對多模型例子
│ └─打印例子
│ └─一對多TAB例子
│ └─內嵌table例子
│ └─常用選擇組件
│ └─異步樹table
│ └─接口模擬測試
│ └─一對多JEditable
│ └─圖片拖拽排序
│ └─圖片翻頁
│ └─圖片預覽
│ └─PDF預覽
│ └─分屏功能
│─封裝通用組件
│ ├─行編輯表格JEditableTable
│ └─省略顯示組件
│ └─時間控件
│ └─高級查詢
│ └─用戶選擇組件
│ └─報表組件封裝
│ └─字典組件
│ └─下拉多選組件
│ └─選人組件
│ └─選部門組件
│ └─通過部門選人組件
│ └─封裝曲線、柱狀圖、餅狀圖、折線圖等等報表的組件(經過封裝,使用簡單)
│ └─在線code編輯器
│ └─上傳文件組件
│ └─驗證碼組件
│ └─樹列表組件
│ └─表單禁用組件
│ └─等等
│─更多頁面模板
│ ├─各種高級表單
│ ├─各種列表效果
│ └─結果頁面
│ └─異常頁面
│ └─個人頁面
├─Online在線開發(暫未開源)
│ ├─Online在線表單
│ ├─Online在線圖表
│ ├─Online圖表模板配置
│ ├─Online在線報表
│ ├─高級表單設計器
│─流程模塊功能 (暫不開源)
│ ├─流程設計器
│ ├─在線表單設計
│ └─我的任務
│ └─歷史流程
│ └─歷史流程
│ └─流程實例管理
│ └─流程監聽管理
│ └─流程表達式
│ └─我發起的流程
│ └─我的抄送
│ └─流程委派、抄送、跳轉
│ └─。。。
└─其他模塊
└─更多功能開發中。。</pre>
項目下載和運行
- 拉取項目代碼
- 安裝node.js
- 切換到ant-design-jeecg-vue文件夾下
<pre class="prism-token token language-javascript" style="box-sizing: border-box; list-style: inherit; margin: 24px 0px; font: 400 14px / 1.45 Consolas, "Liberation Mono", Menlo, Courier, monospace; padding: 16px; overflow: auto; background-color: rgb(247, 247, 247); border-radius: 3px; overflow-wrap: normal; text-align: left; white-space: pre; word-spacing: 0px; word-break: normal; tab-size: 2; hyphens: none; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"># 安裝yarn
npm install -g yarn
下載依賴
yarn install
啟動
yarn run serve
編譯項目
yarn run build
Lints and fixes files
yarn run lint</pre>
源碼下載
https://gitee.com/jeecg/jeecg-boot.git
源碼預覽