推薦一款最近發(fā)現(xiàn)的很不錯(cuò)的開(kāi)源項(xiàng)目
介紹
Guns基于SpringBoot,致力于做更簡(jiǎn)潔的后臺(tái)管理系統(tǒng),完美整合springmvc shiro mybatis-plus beetl!Guns項(xiàng)目代碼簡(jiǎn)潔,注釋豐富,上手容易,同時(shí)Guns包含許多基礎(chǔ)模塊(用戶管理,角色管理,部門管理,字典管理等10個(gè)模塊),可以直接作為一個(gè)后臺(tái)管理系統(tǒng)的腳手架! 2018目標(biāo) 更簡(jiǎn)潔 ,更規(guī)范 !
Guns v3.0新增rest api服務(wù),提供對(duì)接服務(wù)端接口的支持,并利用jwt token鑒權(quán)機(jī)制給予客戶端的訪問(wèn)權(quán)限,傳輸數(shù)據(jù)進(jìn)行md5簽名保證傳輸過(guò)程數(shù)據(jù)的安全性!
管理系統(tǒng)功能
1.用戶管理 2.角色管理 3.部門管理 4.菜單管理 5.字典管理 6.業(yè)務(wù)日志 7.登錄日志 8.監(jiān)控管理 9.通知管理 10.代碼生成
項(xiàng)目特點(diǎn)
- 基于SpringBoot,簡(jiǎn)化了大量項(xiàng)目配置和maven依賴,讓您更專注于業(yè)務(wù)開(kāi)發(fā),獨(dú)特的分包方式,代碼多而不亂。
- 完善的日志記錄體系,可記錄登錄日志,業(yè)務(wù)操作日志(可記錄操作前和操作后的數(shù)據(jù)),異常日志到數(shù)據(jù)庫(kù),通過(guò)@BussinessLog注解和LogObjectHolder.me().set()方法,業(yè)務(wù)操作日志可具體記錄哪個(gè)用戶,執(zhí)行了哪些業(yè)務(wù),修改了哪些數(shù)據(jù),并且日志記錄為異步執(zhí)行,詳情請(qǐng)見(jiàn)@BussinessLog注解和LogObjectHolder,LogManager,LogAop類。
- 利用beetl模板引擎對(duì)前臺(tái)頁(yè)面進(jìn)行封裝和拆分,使臃腫的html代碼變得簡(jiǎn)潔,更加易維護(hù)。
- 對(duì)常用js插件進(jìn)行二次封裝,使js代碼變得簡(jiǎn)潔,更加易維護(hù),具體請(qǐng)見(jiàn)webapp/static/js/common文件夾內(nèi)js代碼。
- 利用ehcache框架對(duì)經(jīng)常調(diào)用的查詢進(jìn)行緩存,提升運(yùn)行速度,具體請(qǐng)見(jiàn)ConstantFactory類中@Cacheable標(biāo)記的方法。
- controller層采用map warpper方式的返回結(jié)果,返回給前端更為靈活的數(shù)據(jù),具體參見(jiàn)com.stylefeng.guns.modular.system.warpper包中具體類。
- 防止XSS攻擊,通過(guò)XssFilter類對(duì)所有的輸入的非法字符串進(jìn)行過(guò)濾以及替換。
- 簡(jiǎn)單可用的代碼生成體系,通過(guò)SimpleTemplateEngine可生成帶有主頁(yè)跳轉(zhuǎn)和增刪改查的通用控制器、html頁(yè)面以及相關(guān)的js,還可以生成Service和Dao,并且這些生成項(xiàng)都為可選的,通過(guò)ContextConfig下的一些列xxxSwitch開(kāi)關(guān),可靈活控制生成模板代碼,讓您把時(shí)間放在真正的業(yè)務(wù)上。
- 控制器層統(tǒng)一的異常攔截機(jī)制,利用@ControllerAdvice統(tǒng)一對(duì)異常攔截,具體見(jiàn)com.stylefeng.guns.core.aop.GlobalExceptionHandler類。
- 頁(yè)面統(tǒng)一的js key-value單例模式寫法,每個(gè)頁(yè)面生成一個(gè)唯一的全局變量,提高js的利用效率,并且有效防止多個(gè)人員開(kāi)發(fā)引起的函數(shù)名/類名沖突,并且可以更好地去維護(hù)代碼。
效果圖
項(xiàng)目視頻介紹:https://www.imooc.com/learn/936
碼云地址:https:///naan1993/guns/
Github地址:https://github.com/stylefeng/Guns
|