項目介紹
JeecgBoot 是一款基於代碼生成器的低代碼平台!前后端分離架構 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服務。強大的代碼生成器讓前后端代碼一鍵生成,實現低代碼開發! JeecgBoot 引領新的低代碼開發模式(OnlineCoding-> 代碼生成-> 手工MERGE), 幫助解決Java項目70%的重復工作,讓開發更多關注業務。既能快速提高效率,節省研發成本,同時又不失靈活性!
當前版本:v2.4 | 2020-12-01
源碼下載
技術文檔
- 技術官網: http://www.jeecg.com
- 在線演示:http://boot.jeecg.com
- 技術文檔:http://doc.jeecg.com
- 常見問題: http://jeecg.com/doc/qa
- 微服務入門視頻: https://www.bilibili.com/video/BV1sZ4y1G7LL
- QQ群:③816531124、②769925425(滿)、①284271917(滿)
升級日志
此版本重構很大,重點升級了微服務模塊,完善了微服務所需的各個組件,實現了微服務方案落地( 新版可一秒變微服務); 同時代碼生成器也做了重點升級,更加智能; 另外后台所有請求統一了前綴,代碼重構較大、 前端代碼目錄和啟動模式也做了較大修改, 所以升級會出現不兼容情況,請注意!!! 單體切換為微服務文檔 2.4+ http://doc.jeecg.com/2043906
微服務升級
- 升級SpringCloud到Hoxton.SR8版本
- 升級SpringCloudAlibaba到2.2.3.RELEASE版本。
- 提供更簡單的微服務和單體切換機制,1秒切換。
- 提供豐富的啟動Starter:xxl-job分布式定時任務、Redisson分布式鎖、rabbitmq消息隊列、消息總線等
- 路由網關升級:支持三種模式加載路由配置(yml、nacos、database)
- 路由網關升級:支持熔斷/降級/限流全局配置
- 配置中心升級:默認采用nacos作為配置中心,簡化配置
- 提供服務監控模塊
- 提供微服務示例代碼模塊
- 路由配置界面換了新界面,操作更方便
代碼生成器升級
- 支持默認值生成
- 支持高級查詢的生成
- 支持禁用狀態(只讀)生成
- 支持上傳圖片和上傳文件控制數量
- 支持表單列數設置生成
- 默認單表、一對多、樹支持詳情頁面的生成
- Online popup支持翻頁多選
- 支持開關控件的生成
Online低代碼升級
- Online報表支持合計功能
- Online報表支持多表頭設置
- Online表單導出支持高級查詢
- Online表單同步數據庫,支持數據庫密碼加密
- Online表單上傳文件圖片控件,支持上傳個數設置
- Popup組件,支持編碼方式傳遞動態參數
- Online表單功能測試,行編輯表格換成JVxeTable提升性能
- Online報表配置界面,換成JVxeTable提升性能
- Online表單恢復大組件(富文本、MD編輯器、代碼編輯器)支持
- Online表單依賴JS進一步壓縮變小
平台架構升級
- 前端改造成多環境配置(啟動配置模式變了)
- 前端代碼目錄結構做了調整,代碼更清晰易懂
- 在線swagger文檔換為knife4j,UI更漂亮功能更強大
- 在線數據源和平台數據源,密碼支持加密設置
- 第三方登錄做重構,支持一個用戶對應多個第三方賬戶
- 重構請求,system模塊所有請求統一以/sys/開頭,demo模塊統一以/mock開頭
- 系統框架中的安全漏洞問題加強
- 升級底層依賴
- springboot => 2.3.5.RELEASE
- mybatis-plus 3.3.2 => 3.4.1
- druid 1.1.17 => 1.1.22
- jwt 3.7.0 => 3.11.0
- shiro 1.5.3 => 1.7.0
- fastjson 1.2.72 => 1.2.75
- mysql-connector-java 8.0.20=>8.0.21
- dynamic-datasource-spring-boot-starter=> 3.2.0
- autopoi => 1.2.2
Issues處理
- 谷歌瀏覽器,JEditableTable輸入校驗提示框位置偏移 #2005
- 同步數據庫,對於一些關鍵字的表名 實際並沒有創建成功 #1977
- 選擇部門彈出框超出屏幕 #1995
- 【BUG】兩個online報表之間跳轉。排序后排序條件未清空造成報錯 #1822
- JEditaTable,子表默認添加一條數據,addDefaultRowNum設置無效 #1930
- AutoPOI(Excel工具)一對多導出needMerge 有某條數據對應數量小於2時報錯 #1840
- Excel導出斷點查了到的是一個date類型的字段(XXtime)沒有賦值 issues/I249JF
- 一對多導出報錯 issues/I1YH6B
- 省市區組件校驗必填配置無效 #1902
- Long類型精度丟失問題 issues/I24KXI
- online下拉多選框,搜索時只字典code進行搜索不能通過字典text搜索 issues/I1WMHB
- 組件 JSelectDepart.vue不是默認id時新內容編輯問題 issues/I247X2
- 控件默認值是“#{sysUserName}”,但是功能測試時控件沒有默認值issues/I1QEMS
- ERP模板界面,如果超時,點擊重新登錄,無法跳轉到登錄界面issues/I1PQ0W
- 在線表單開發中數據表的某一字段的默認值設為#{sysUserName}時,無法獲取到值。issues/1639
- 控件默認值#{sysUserName}無法顯示issues/1544
- Online表單開發,點擊“新增”按鈕,是否樹:選擇是,頁面控制台報錯 issues/I1BHXG
- 2.2.1的ERP模板不可用 issues/I1OAM9
- 關於在線開發中的表單開發和報表配置的問題issuse/I1NV8M
- Bug:2.2.1版本 Online排序功能失效issues/1450
- 下載最新開源代碼,本地測試,online表單開發,勾上“是否排序”,頁面無排序功能issues/I1N6Z1
- controller方法參數列表中帶有HttpServletRequest類型參數,執行完成后,保存日志報錯issues/1394
- Bug:如果請求參數有request,@AutoLog自動日志 會報異常issues/1413
- radis緩存未更新 導致 修改主表,子表關聯數據未更新issues/1436
- 登錄登出日志沒有記錄人員issues/I1NBZO
- Online表單開發,建議增加時間控件issues/1362
- online前端模板變量有誤issues/1470
- 內嵌子表單顯示字段越多,多選框及其序號寬度也會增加issues/1442
- 建議:優化架構issues/1377
- 自定義組件,建議支持多條件查詢issues/1433
- popup多選的問題issues/I1OERG
- components文件夾Table組件showPagination參數問題issues/1467
- 富文本組件在tab頁面切換的時候失效issues/1462
- 定時任務調用 SysBaseApiImpl.addLog 記錄日志報錯issues/1472
- 建議升級shiro依賴 Apach Shiro官方披露其cookie持久化參數rememberMe加密算法存在漏洞issues/1473
- Apache Shiro權限繞過issues/1516
- 優化建議:/thirdLogin/{source}/callback 接口在簽名校驗失敗時返回失敗的標識碼issues/1441
- online表單如何指定字段進行排序 或是否支持多個字段進行排序 issues/1411
- 子表怎么修改控件長度issues/I1P2UM
- JEditableTable.vue卡頓原因之一buildPropsissues/1177
- JEditableTable 用 slot的形式綁定一個JTreeSelect 如何實現雙向綁定issues/984
- 谷歌瀏覽器開發者模式下,點擊屏幕調試后左側菜單欄收起,且折疊圖標失效issues/1584
- 前端問題issues/1602
- 漏洞:其他部門可以新增管理員角色issues/1538
- jar 包上傳到服務器后 autopoi 讀取不到excel模版文件issues/1505
- 左側菜單欄縮放窗口后無法顯示issues/1498
- 怎么對表格和編輯表格的表頭進行自定義樣式修改issues/I1RBGF
- online-導入數據庫表issues/I1R43G
- 頂部導航,偶爾會無法顯示收起按鈕issues/I1FKIP
- side menu響應式有bugissues/1619
- 高級查詢構造器條件值是下拉框並且下拉框項目較多時檢錯報錯issues/1517
- 自定義控件: j-image-upload 問題issues/I1PRAE
- 數據權限為,單位A到Z的人員只能增刪查改自己單位的錄入的數據,單位A到Z的上級甲可以查看單位A的數據並修改。sys_org_code會更新到更新人所屬部門issues/I1PRTU
- 支持自定義sql 查詢條件 引入#{sys_user_code} 等用戶查詢條件 能否匹配上權限數據issues/1547
- 配置數據權限為包含時,條件為多個時,sql語句報錯issues/1541
- 【bug】postgresql 查看已刪除用戶類型錯誤issues/1642
- 前端切換標簽不會保存原有狀態及數據issues/1369
- 導出excel實體反射,時間格式轉換錯誤issues/1573
- 表單開發頁面bugissues/I1RMJA
- 加入多租戶管理后數據表無法正常更新issues/1640
- 表單主附表設計issues/1481
- 配置字段href,跳轉頁面issues/I1QP0Y
- excel中的數據使用函數計算的列導入報錯 Cannot get a text value from a numeric formula cell.issues/I1QDHN
- 如果進行在線表單開發的一對多對多的設計?issues/I1PEB2
- 登錄頁面錯別字issues/993
- 在線文檔中不能支持對List的入參 issues/1246
- online表單開發 填寫表明時只要數據庫中有一個庫中存在這個表就會提示表名已存在issues/I1TWWK
- online 表單開發 表明已經存在issues/I1TWOO
- Online表單開發,普通同步報錯issues/1565
- Online表單開發(表名已存在)issues/1665
- 前端頁面放開個人頁后console報錯issues/1577
- 跨域問題issues/I1TAAP
- eidtTable的值改變事件issues/I1N3H1
- 2.2.1版本bug,默認主題父子表生成的代碼,如果先點擊編輯,后點擊新增,新增頁面明細上會有之前編輯頁面上的數據issues/1454
- JS增強獲取表單字段為undefinedissues/1388
- 表格合計功能bugissues/1399
- radis緩存未更新 導致 修改主表,子表關聯數據未更新issues/1436
- JSelectBizComponent 組件存在bugissues/1425
- online表單下拉選擇,校驗字段,字典Table 寫上where條件后,在線測試沒問題,生成代碼后,出現sql注入問題issues/1423
- JEditableTable樣式問題issues/I1LNK6
- Result.okissues/1487
- 隸屬多個部門,登錄頁面輸入正確,點擊登錄后,彈出部門選擇,不選,直接刷新網頁,直接進入dashboard了issues/1449
- 二級下拉聯動組件 一級只出來一個值issues/1652
- 多租戶環境下,導入無法獲取租戶idissues/1647
- 消息模板建議使用freemarkderissues/1610
- online開發href跳轉到其他表單對應的詳情頁issues/1480
- v2.2.0版本,按鈕type為danger時,看不到文字issues/1286
- 后台報空指針issues/I1OAY9
- 按鈕/權限issues/I1OUGU
- Online配置的菜單,怎么查看操作日志issues/I1MQLC
- JEditableTable樣式問題issues/I1LNK6
- 聚合路由錯誤issues/1444
- 數據字典項 Redis 緩存沖突issues/1522
- dictText名稱解析報錯,想問下這個問題如何解決,需要解析的表是單表(樹)issues/1634
- 消息模板類型建議添加PushPlusissues/1611
- 怎么添加清除功能issues/I1QYF2
- JeecgBootExceptionHandler無法捕獲AuthenticationExceptiony異常issues/I17UAS
- 如果是tomcat部署項目的話,系統監控-》性能監控-》tomcat信息查詢不到issues/I181YO
- idea運行服務,Tomcat監控信息session值為0issues/I1C44Z
- JEditableTable幫助文檔沒有更新(找不到FormTypes.file)issues/I1OL4S
- edit表格加的插槽怎么做表單驗證,或者自帶的FormTypes.input怎么做自定義事件issues/I1OVFB
- online表單下拉選擇,校驗字段,字典Table 寫上where條件后,在線測試沒問題,生成代碼后,出現sql注入問題issues/1423
- editTable使用問題issues/I1M48Q
- 登錄系統之后,用戶如果沒有權限,會直接進入404,這個怎么能設置登錄進來只能默認打開的只有首頁?issues/I1O6D1
- online表單開發,生成主附表,配置菜單+auto,無權限訪問(操作)issues/I1PEXA
- 實體內有多個表字典注解的時候報錯,導致翻譯失敗issues/1534
- AutoPoi多表頭導出,會多出一列空白列issues/1513
- tinymce第一次打開正常,頁面切換后再切換回來內容空白且無法編輯issues/1507
- 抽屜式界面下方有一點奇怪的顯示issues/1532
- 頭部菜單樣式,右上角圖標顏色重合issues/I1RJ1Y
- 彈窗全屏組件issues/I1TL8O
- 【bug】in 類型多值查詢 不適配postgresql issues/1671
- QueryGenerator.installMplus()未處理@TableField(exist = false)導致構建查詢出現column "xxx" does not existissues/1680
- Online在線表單開發,在查詢配置中勾選“是否啟用”,將會取消選中“頁面配置”中的是否查詢選項issues/1669
- online表單開發功能問題issues/1654
- online開發 popup 怎么顯示名稱 存儲IDissues/1335
- 返回值問題:this.$refs.editableTable.getValuesSync()issues/1675
- that.changeOptions在表單初始化的時候無法初始化下拉框數據issues/I1TGVX
- JAVA訪問權限控制 無法使用的問題issues/1740
- online表單開發的權限控制使用報錯issues/1733
- online表單開發中權限控制的勾選框沒反應issues/1741
- 找不到jeecg-cloud-module在其子目錄config下有兩個配置文件 issues/1754
- 切換微服務后無法使用Online相關功能issues/1760
- 自定義組件-用戶多選組件自定義查詢條件問題issues/1718
- 缺少表結構eoa_mailbox_infoissues/I1VN0E
- 數據導出信息與列表字段控制邏輯不一致issues/I1M4FZ
- jeecg-cloud-application-beta.yml有配置重復問題issues/1775
- JPopup 是否支持動態參數?issues/1772
- Mybatis-plus的IdType配置問題issues/1789
- [popup相關]如何實現帶動態參數的報表在popup中使用issues/1666
- 當進入登錄頁時,有一定幾率出現驗證碼錯誤issues/1714
- 大屏設計下的兩個示例沒有樣式和JSissues/1799
- online表單開發-同步數據庫異常issues/I1WDT5
- 選取職務名稱出現全選issues/1753
- 切換導航模式,導致菜單欄丟失issues/1763
- TableField引起的QueryGenerator.initQueryWrapper()生成sql語句where 字段沒有替換issues/1750
- 登入生成token的小bugissues/I1XOVS
- 部門選擇框bugissues/I1X4DT
- SYS_USERS_CACHE_JWT 緩存用戶jwt,部門或人員信息變更時沒有更新對應的緩存issues/I1XOD6
- 內嵌子表風格列表頁面;點擊加號后操作下面錯位如果把操作那里的fixed:"right",注釋掉就沒有問題;但是鎖定操作就沒有了;我感覺應該能完善下issues/I1WHR0
- vue前端 /public/index.html js路徑問題 (小bug)issues/1844
- 內嵌子表風格生成的代碼,子表數據不顯示issues/1782
- 切換tab會刷新頁面issues/I1TFQT
- 攔截器沖突 ,更新失效問題issues/I1SMY7
- 內嵌子表主題(一對多) 生成 菜單 問題issues/1769
- 360瀏覽器兼容模式IE11內核完全進不去,一直處於加載狀態issues/1862
- 路由緩存問題issues/842
- OL一對多 移除或刪除附表后主表生成代碼報錯--表信息加載失敗issues/1773
- 菜單是否緩存路由問題issues/I1Y0K6
- j-image-upload圖片組件單張圖片詳情回顯空白issues/1810
- 【popup】如何控制popup只能選擇一條記錄issues/1866
- 切換導航模式,導致菜單欄丟失issues/1763
- 左側菜單欄縮放窗口后無法顯示issues/1498
- 使用前端緩存keep-alive造成的bugissues/827
- 導出參數沒有高級查詢參數issues/1860
- 官方代碼中沒有找到【queryAllAuth】【queryUserAuth】相關代碼issues/1879
- 模糊查詢通配符問題issues/1820
- 詳情時圖片顯示不了issues/1779
- 左側邊欄收縮,右側界面不能上下滾動issues/1835
- 如何實現JEditableTable中的POPUP 彈窗記錄多選 issues/1885
- dict_item中的item_value如果存在_字典會失效issues/1854
- 導入Excel,隨便一個Excel都能被導入issues/1756
- sql注入 issues/1887
- 前端頁面改變瀏覽器窗口大小后,菜單展開按鈕失效,無法展開菜單,無法操作issues/1913
- j-image-upload控件循環圖片不顯示issues/1882
- 職位/部門選擇器, buttons設為false,disabled為true時,還可以點擊修改issues/1876
- 建議升級swagger-bootstrap-ui依賴版本issues/1856
- 按部門選擇用戶控件問題issues/1871
- 怎么配置測試環境和生產環境啊issues/1815
- 所有頁面都設置了緩存路由,在已打開的tab中來回切換不會刷新頁面,但是新打開一個tab頁面,就會刷新其他已經打開的tab頁面issues/I1QLKP
- 切換微服務定時任務有問題issues/1824
- 數據庫同步失敗issues/1945
- 系統中使用popup插件數據不刷新,需要點擊查詢或者刷新才可以,請問是有地方可以配置或者在哪里改?issues/1749
- 菜單收縮為圖標模式時,右側區域滾動失效 issues/1932
- 通配符問題 issues/1952
- sql server數據庫,表存在判斷方法有問題issues/1929
- js增強附表內置方法調用問題 issues/1819
- 切換微服務定時任務有問題issues/1824
- Online表單配置了下拉多選,將改字段作為查詢條件查不到數據。issues/I23JY5
為什么選擇 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端

手機端

PAD端






