CMS系統搭建
(一)概述:
基于Spring Boot2,致力于做更簡潔的后臺管理系統。包含系統管理,代碼生成,多數據庫適配,SSO單點登錄,工作流,短信,
郵件發送,OAuth2登錄,任務調度等功能;
項目特點:
1、基于SpringBoot,簡化了大量項目配置和maven依賴,讓您更專注于業務開發,獨特的分包方式,代碼多而不亂。
2、完善的日志記錄體系,可記錄登錄日志,業務操作日志(可記錄操作前和操作后的數據),異常日志到數據庫,通過@Bussine
ssLog注解和LogObjectHolder.me().set()方法,業務操作日志可具體記錄哪個用戶,執行了哪些業務,修改了哪些數據,并且
日志記錄為異步執行,詳情請見@BussinessLog注解和LogObjectHolder,LogManager,LogAop類。
3、利用beetl模板引擎對前臺頁面進行封裝和拆分,使臃腫的html代碼變得簡潔,更加易維護。
4、對常用js插件進行二次封裝,使js代碼變得簡潔,更加易維護。
5、controller層采用map + warpper方式的返回結果,返回給前端更為靈活的數據,具體參見com.stylefeng.guns.modul
ar.system.warpper包中具體類。
6、防止XSS攻擊,通過XssFilter類對所有的輸入的非法字符串進行過濾以及替換。
7、簡單可用的代碼生成體系,通過SimpleTemplateEngine可生成帶有主頁跳轉和增刪改查的通用控制器、html頁面以及
相關的js,還可以生成Service和Dao,并且這些生成項都為可選的,通過ContextConfig下的一些列xxxSwitch開關,可靈活控
制生成模板代碼,讓您把時間放在真正的業務上。
8、控制器層統一的異常攔截機制,利用@ControllerAdvice統一對異常攔截,具體見com.stylefeng.guns.core.aop.Global
ExceptionHandler類。
9、頁面統一的js key-value單例模式寫法,每個頁面生成一個唯一的全局變量,提高js的利用效率,并且有效防止多個人員開
發引起的函數名/類名沖突,并且可以更好地去維護代碼。
10、在線系統參數配置,靈活控制常用功能的開關,無需重啟項目即可生效,實時刷新