Guns自動化生成代碼使用
一、Guns簡介
Guns基於Spring Boot2,致力於做更簡潔的後台管理系統。包含系統管理,代碼生成,多數據庫適配,SSO單點登錄,工作流,短訊,郵件發送,OAuth2登錄,任務調度,持續集成,docker部署等功。支持Spring Cloud Alibaba微服務。社區活躍,版本迭代快,加群免費技術支持。
在最新版的6.1中,代碼生成功能被刻意隱藏掉了,如果需要使用該功能,可通過收費購買,或者使用低版本的5.x,4.x。
我這裡使用的是5.1版本。
鏈接地址://gitee.com/stylefeng/guns/tree/v5.1-final
這裡也列出了部分歷史版本。
版本名稱 |
說明 |
地址 |
Guns旗艦版 v2.4 |
修復單數據源下事務不生效問題,現為了防止單數據源多數據源衝突,現在多數據源的配置放入multi-datasource分支維護 |
|
Guns旗艦版 v2.3 |
強力集成atomikos,MM再也不用擔心多數據源事務問題,感謝Guns二群月下魔術師兄弟貢獻的解決方案 |
|
Guns旗艦版 v2.2 |
修復日誌模塊,記錄業務日誌,部分字段缺失的問題 |
|
Guns旗艦版 v2.1 |
菜單管理表格改為樹形表格,部門增加左側樹 |
|
Guns旗艦版 v2.0 |
基於layui的全新旗艦版,demo地址://demo.stylefeng.cn |
|
Guns旗艦版 v1.1 |
全面升級spring boot和mybatis-plus版本 |
|
Guns旗艦版 v1.0 |
全新的UI界面,採用bootstrap 4 + vue,全新的規範化的數據庫設計 |
|
Guns v5.1 |
Guns經典版的最新版,採用bootstrap 3 |
|
Guns v4.2 |
spring boot升級到了2.0,大大簡化了前端的體積,升級了一些組件到最新版本 |
|
Guns v3.3 |
模塊化了整個項目,整體拆分成4個模塊,增加了jwt,並集成工作流flowable 6.2.0 |
|
Guns v2.4 |
基於spring boot全面升級,更加簡化配置和依賴,更專註於開發業務 |
|
Guns v1.0 |
Guns的第一個版本,率先採用spring java bean方式的配置,零spring xml配置,spring用到極致 |
二、對該框架的認知
Guns框架是基於SpringBoot實現的一種快速構建項目的後台管理系統。並且內部包含代碼生成功能,能夠替代我們通過手工配置相關參數,完成代碼的撰寫,並且通過shiro框架完成權限的分配,我們只需要在權限分配頁面賦予對應角色相關權限,即可完成相應授權。
由於Guns每次操作皆是全量型操作,即每次新增、更新等操作時,會對整個數據庫進行全量更新,所以對於一些對響應效率較高的項目並不太適用。再者,對於一些用戶權限隔離的用戶,也不太適用,比如A(開發)、B(人事)、C(財務)共用同一個菜單,A用戶在某個菜單做了某筆交易,具有相同權限的B用戶也能夠看到,C也能看到,無法實現權限與用戶功能分離。
三、標誌型模塊使用
1) 驗證碼開啟
首先在login.html頁面中查看,會發現驗證碼功能其實是存在的,但是實際上並沒有顯示,可以推斷出驗證碼是被隱藏了,我們只需要開啟即可。而kaptcha是一款針對驗證碼生成的jar包。而在代碼中,我們可以找到KaptchaController中的loginVali方法,在登錄時會進行驗證驗證碼。
而界面展示需要在application.yml文件中配置。將kaptcha-open配置為true即可。
在GunsProperties文件中,需要手動將kaptchaOpen配置為true。
最後重啟項目即可。
2) 代碼生成
該功能是為了能夠簡化開發代碼,實現自動化生成。前提是數據庫需要配置準確,數據庫在application.yml文件中配置。按照如圖功能配置後需要在菜單中添加新增的菜單,即可完成展示。