分享6個國內優秀Java後臺管理框架的開源專案
Java是一種可以撰寫跨平臺應用軟體的面向物件的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、資料中心、遊戲控制檯、科學超級計算機、行動電話和網際網路,同時擁有全球最大的開發者專業社群。
後臺管理系統是內容管理系統Content Manage System(簡稱CMS)的一個子集。CMS是Content Management System的縮寫,意為"內容管理系統"。 內容管理系統是企業資訊化建設和電子政務的新寵,也是一個相對較新的市場。
我自己也一直在搭建一個即好用 ,又美觀的後臺管理系統的手動架,可以即拿的即用的專案。不用要重複的去造輪子,把有限的時間用去一些有意思的事。
下面分享一下開源中國中有哪些優秀的Java開源後臺管理系統。所有專案在gitee.com中輸入專案都可以搜尋的到。
ThinkGem / JeeSite(開發人員/專案名稱)
watch 2100 star 4000 fork 2600
JeeSite是基於多個優秀的開源專案,高度整合封裝而成的高效,高效能,強安全性的開源Java EE快速開發平臺。
JeeSite是您快速完成專案的最佳基礎平臺解決方案,JeeSite是您想學習Java平臺的最佳學習案例,JeeSite還是接私活的最佳助手。
JeeSite是在Spring Framework基礎上搭建的一個Java基礎開發平臺,以Spring MVC為模型檢視控制器,MyBatis為資料訪問層, Apache Shiro為許可權授權層,Ehcahe對常用資料進行快取,Activit為工作流引擎。是JavaEE界的最佳整合。
JeeSite主要定位於企業資訊化領域,已內建企業資訊化系統的基礎功能和高效的程式碼生成工具, 包括:系統許可權元件、資料許可權元件、資料字典元件、核心工具元件、檢視操作元件、工作流元件、程式碼生成等。 前端介面風格採用了結構簡單、效能優良、頁面美觀大氣的Twitter Bootstrap頁面展示框架。 採用分層設計、雙重驗證、提交資料安全編碼、密碼加密、訪問驗證、資料許可權驗證。 使用Maven做專案管理,提高專案的易開發性、擴充套件性。
JeeSite目前包括以下四大模組,系統管理(SYS)模組、 內容管理(CMS)模組、線上辦公(OA)模組、程式碼生成(GEN)模組。 系統管理模組 ,包括企業組織架構(使用者管理、機構管理、區域管理)、 選單管理、角色許可權管理、字典管理等功能; 內容管理模組 ,包括內容管理(文章、連結),欄目管理、站點管理、 公共留言、檔案管理、前端網站展示等功能; 線上辦公模組 ,提供簡單的請假流程例項;程式碼生成模組 ,完成重複的工作。
JeeSite 提供了常用工具進行封裝,包括日誌工具、快取工具、伺服器端驗證、資料字典、當前組織機構資料 (使用者、機構、區域)以及其它常用小工具等。另外還提供一個強大的線上 程式碼生成 工具, 此工具提供簡單的單表、一對多、樹結構功能的生成,如果對外觀要求不是很高,生成的功能就可以用了。 如果你使用了JeeSite基礎框架,就可以很高效的快速開發出,優秀的資訊管理系統。
技術選型:
1、後端
核心框架:Spring Framework 4.1
安全框架:Apache Shiro 1.2
檢視框架:Spring MVC 4.1
服務端驗證:Hibernate Validator 5.2
佈局框架:SiteMesh 2.4
工作流引擎:Activiti 5.21
任務排程:Spring Task 4.1
持久層框架:MyBatis 3.2
資料庫連線池:Alibaba Druid 1.0
快取框架:Ehcache 2.6、Redis
日誌管理:SLF4J 1.7、Log4j
工具類:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI 3.9
2、前端
JS框架:jQuery 1.9。
CSS框架:Twitter Bootstrap 2.3.1(穩定是後臺,UI方面根據需求自己升級改造吧)。
客戶端驗證:JQuery Validation Plugin 1.11。
富文字線上編輯:CKEditor
線上檔案管理:CKFinder
動態頁籤:Jerichotab
手機端框架:Jingle
資料表格:jqGrid
對話方塊:jQuery jBox
下拉選擇框:jQuery Select2
樹結構控制元件:jQuery zTree
日期控制元件: My97DatePicker
專案主頁:
stylefeng / guns
watch 1.5k star 3.7k fork 1.8k
Guns基於SpringBoot,致力於做更簡潔的後臺管理系統,完美整合springmvc + shiro + mybatis-plus + beetl + flowable!Guns專案程式碼簡潔,註釋豐富,上手容易,同時Guns包含許多基礎模組(使用者管理,角色管理,部門管理,字典管理等10個模組),可以直接作為一個後臺管理系統的腳手架!
專案特點:
基於SpringBoot,簡化了大量專案配置和maven依賴,讓您更專注於業務開發,獨特的分包方式,程式碼多而不亂。
完善的日誌記錄體系,可記錄登入日誌,業務操作日誌(可記錄操作前和操作後的資料),異常日誌到資料庫,通過@BussinessLog註解和LogObjectHolder.me().set()方法,業務操作日誌可具體記錄哪個使用者,執行了哪些業務,修改了哪些資料,並且日誌記錄為非同步執行,詳情請見@BussinessLog註解和LogObjectHolder,LogManager,LogAop類。
利用beetl模板引擎對前臺頁面進行封裝和拆分,使臃腫的html程式碼變得簡潔,更加易維護。
對常用js外掛進行二次封裝,使js程式碼變得簡潔,更加易維護,具體請見webapp/static/js/common資料夾內js程式碼。
利用ehcache框架對經常呼叫的查詢進行快取,提升執行速度,具體請見ConstantFactory類中@Cacheable標記的方法。
controller層採用map + warpper方式的返回結果,返回給前端更為靈活的資料,具體參見com.stylefeng.guns.modular.system.warpper包中具體類。
防止XSS攻擊,通過XssFilter類對所有的輸入的非法字串進行過濾以及替換。
簡單可用的程式碼生成體系,通過SimpleTemplateEngine可生成帶有主頁跳轉和增刪改查的通用控制器、html頁面以及相關的js,還可以生成Service和Dao,並且這些生成項都為可選的,通過ContextConfig下的一些列xxxSwitch開關,可靈活控制生成模板程式碼,讓您把時間放在真正的業務上。
控制器層統一的異常攔截機制,利用@ControllerAdvice統一對異常攔截,具體見com.stylefeng.guns.core.aop.GlobalExceptionHandler類。
頁面統一的js key-value單例模式寫法,每個頁面生成一個唯一的全域性變數,提高js的利用效率,並且有效防止多個人員開發引起的函式名/類名衝突,並且可以更好地去維護程式碼。
專案圖片
老A / AG-Admin
watch 1.2k star 2.8k fork 1.1k
AG-Admin是國內首個基於Spring Cloud微服務化開發平臺,具有統一授權、認證後臺管理系統,其中包含具備使用者管理、資源許可權管理、閘道器API管理等多個模組,支援多業務系統並行開發,可以作為後端服務的開發腳手架。程式碼簡潔,架構清晰,適合學習和直接專案中使用。核心技術採用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis等主要框架和中介軟體,前端採用vue-element-admin元件。
模組說明
專案圖片:
Jieven / eova
watch 1.1k star 2.1k fork 1.1k
最簡單的快速開發平臺,簡單才是高科技,因為簡單所以更快,降低70%開發成本。
Easy 簡單開發
Object 元資料驅動業務
View 常用功能介面
Admin 資訊管理和維護
專案圖片:
lengleng / pig
watch 521 star 1k fork 479
基於Spring Cloud、oAuth2.0開發基於Vue前後分離的開發平臺
完成功能
完善登入:賬號密碼模式、簡訊驗證碼模式、社交賬號模式均整合Spring security oAuth
單點登入:基於Srping security oAuth 提供單點登入介面,方便其他系統對接
使用者管理:使用者是系統操作者,該功能主要完成系統使用者配置。
機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可隨意調整上下級。
選單管理:配置系統選單,操作許可權,按鈕許可權標識等。
角色管理:角色選單許可權分配、設定角色按機構進行資料範圍許可權劃分。
字典管理:對系統中經常使用的一些較為固定的資料進行維護,如:是否、男女、類別、級別等。
操作日誌:系統正常操作日誌記錄和查詢;系統異常資訊日誌記錄和查詢。
服務限流:多種維度的流量控制(服務、IP、使用者等)
分庫分表:shardingdbc分庫分表策略
資料許可權: 使用mybatis對原查詢做增強,業務程式碼不用控制,即可實現。
檔案系統: 支援FastDFS、七牛雲,擴充套件API幾行程式碼實現上傳下載
訊息中心:簡訊、郵件模板傳送,幾行程式碼實現傳送
聚合文件:基於zuul實現 swagger各個模組的實現
程式碼生成:前後端程式碼的生成,支援Vue
快取管理:基於Cache Cloud 保證Redis 的高可用
服務監控: Spring Boot Admin
分散式任務排程: 基於elastic-job的分散式檔案系統,zookeeper做排程中心
zipkin鏈路追蹤: 資料儲存ELK,圖形化展示
pinpoint鏈路追蹤: 資料儲存hbase,圖形化展示
專案圖片:
Ehsan / CrapApi
CrapApi - CrapApi免費開源API介面管理系統、API介面除錯工具:API介面管理、文件管理、介面除錯。
CrapApi能做什麼
主要功能:專案管理、使用者管理、模組管理、介面管理、介面版本管理、介面拷貝、介面文件pdf下載、介面mock、模組加密訪問、
介面線上除錯、資料字典管理、資料字典加密訪問多管理員、多許可權、多角色管理、自定義選單、自定義網站樣式、文件留言、
錯誤碼管理、介面排序、DOC、PDF、TEXT、EXCEL等資源管理、支援版本號控制、文件內容檢索、操作日誌記錄、
根據日誌恢復資料、markdown編輯器、kindeditor編輯器、angularjs編輯器、Lucene搜尋、專案成員管理...
特點:
1.單頁應用、非同步互動,響應速度快
2.具有多種賬戶型別,具有角色、許可權管理功能,適合企業內部使用
3.支援使用者註冊、專案支援成員管理,適合團隊協作辦公,可企業內部部署,也可線上使用
4.介面支援文件下載、線上除錯、介面監控、資料mock等,適合企業內部介面開發
專案圖片:
謝謝開源社群中開發人員們的無私奉獻。讓我們學習到了很多東西。
作者:Java小辰
連結:https://www.jianshu.com/p/70e0c254225b