1. 程式人生 > >分享6個國內優秀Java後臺管理框架的開源專案

分享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