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、在线系统参数配置,灵活控制常用功能的开关,无需重启项目即可生效,实时刷新