中小型企業的福音--Guns框架介紹


目錄

背景

使用技術

項目特點

使用感受

框架效果

框架下載地址

結束語


背景

      新公司,新跡象,新框架。Guns框架,相比以往的springMVC框架需要個人集成shiro和Druid等東西,Guns給封裝好了一系列的插件,堪稱後臺管理系統的腳手架,Guns框架包含許多基礎模塊,例如用戶管理,角色管理,部門管理,字典管理等10個模塊,完美整合springmvc + shiro + mybatis-plus + beetl。

使用技術

###前端
Bootstrap v3.3.6
jQuery v2.1.4
bootstrap-table v1.11.1
layer v2.1
zTree core v3.5.28
WebUploader 0.1.5
###後端
SpringBoot 1.5.3.RELEASE
MyBatis-Plus 2.0.8
MyBatis 3.4.4
Spring 4.3.8.RELEASE
Beetl 2.7.15
hibernate-validator 5.3.5.Final
Ehcache 3.3.1
Kaptcha 2.3.2
Fastjson 1.2.31
Shiro 1.4.0
Druid 1.0.31

項目特點

  1. 基於SpringBoot,簡化了大量項目配置和maven依賴,讓您更專注於業務開發,獨特的分包方式,代碼多而不亂。
  2. 完善的日誌記錄體系,可記錄登錄日誌,業務操作日誌(可記錄操作前和操作後的數據),異常日誌到數據庫,通過@BussinessLog註解和LogObjectHolder.me().set()方法,業務操作日誌可具體記錄哪個用戶,執行了哪些業務,修改了哪些數據,並且日誌記錄爲異步執行,詳情請見@BussinessLog註解和LogObjectHolder,LogManager,LogAop類。
  3. 利用beetl模板引擎對前臺頁面進行封裝和拆分,使臃腫的html代碼變得簡潔,更加易維護。
  4. 對常用js插件進行二次封裝,使js代碼變得簡潔,更加易維護,具體請見webapp/static/js/common文件夾內js代碼。
  5. 利用ehcache框架對經常調用的查詢進行緩存,提升運行速度,具體請見ConstantFactory類中@Cacheable標記的方法。
  6. controller層採用map + warpper方式的返回結果,返回給前端更爲靈活的數據,具體參見com.stylefeng.guns.modular.system.warpper包中具體類。
  7. 防止XSS攻擊,通過XssFilter類對所有的輸入的非法字符串進行過濾以及替換。
  8. 簡單可用的代碼生成體系,通過SimpleTemplateEngine可生成帶有主頁跳轉和增刪改查的通用控制器、html頁面以及相關的js,還可以生成Service和Dao,並且這些生成項都爲可選的,通過ContextConfig下的一些列xxxSwitch開關,可靈活控制生成模板代碼,讓您把時間放在真正的業務上。
  9. 控制器層統一的異常攔截機制,利用@ControllerAdvice統一對異常攔截,具體見com.stylefeng.guns.core.aop.GlobalExceptionHandler類。
  10. 頁面統一的js key-value單例模式寫法,每個頁面生成一個唯一的全局變量,提高js的利用效率,並且有效防止多個人員開發引起的函數名/類名衝突,並且可以更好地去維護代碼。

 

使用感受

      官方定位是後臺管理系統的腳手架,腳手架確實是爲了輔助我們進行開發,對於大多數中小型企業來說,可能無法安排單獨的架構師對項目的架構,Guns框架作爲腳手架,集成了我們當前主流的組件,像shiro的權限控制和Durid的數據連接,此外對於簡單的增刪改查來說,guns提供了代碼的自動生成,這是對我來說感覺很有用的,功能如下圖:

選擇數據庫的一張表,他能根據這張表自動生成對象,並提供展示的Grid和新增修改的功能頁面,對於我大多數主做增刪改查的公司來說,這個真是比較完美的,例如根據一張表生成的功能效果圖:

自動生成的不只是controller、service、dao的代碼,還有新增修改的html代碼等。總之,對於大多數java研發人員來說,這個框架是值得一瞧得。

框架效果

最後上兩張框架自動生成的效果圖

 

框架下載地址

https://gitee.com/270029666/guns/

結束語

開發人員可以關注以下公衆號,我會定期分享javaweb和數據分析的相關知識,謝謝:

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章