博客列表 >10分钟搞定Guns快速开发平台

10分钟搞定Guns快速开发平台

Coco
Coco原创
2021年11月08日 19:39:33564浏览

一、Guns简介

Guns基于SpringBoot 2,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架!

在线演示地址:账号密码:admin/111111,地址:http://demo.stylefeng.cn

体验一下:










二 Guns涉及技术

基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。

完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,通过@BussinessLog注解和http://LogObjectHolder.me().set()方法,业务操作日志可具体记录哪个用户,执行了哪些业务,修改了哪些数据,并且日志记录为异步执行,详情请见@BussinessLog注解和LogObjectHolder,LogManager,LogAop类。

利用beetl模板引擎对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。

对常用js插件进行二次封装,使js代码变得简洁,更加易维护,QQ号码转让具体请见webapp/static/js/common文件夹内js代码。

利用ehcache框架对经常调用的查询进行缓存,提升运行速度,具体请见ConstantFactory类中@Cacheable标记的方法。

controller层采用map + warpper方式的返回结果,返回给前端更为灵活的数据,具体参见com.stylefeng.guns.modular.system.warpper包中具体类。

防止XSS攻击,通过XssFilter类对所有的输入的非法字符串进行过滤以及替换。

简单可用的代码生成体系,通过SimpleTemplateEngine可生成带有主页跳转和增删改查的通用控制器、html页面以及相关的js,还可以生成Service和Dao,并且这些生成项都为可选的,通过ContextConfig下的一些列xxxSwitch开关,可灵活控制生成模板代码,让您把时间放在真正的业务上。

控制器层统一的异常拦截机制,利用@ControllerAdvice统一对异常拦截,具体见com.stylefeng.guns.core.aop.GlobalExceptionHandler类。

页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。

三、Guns项目模块说明

/src/main:

java 源文件 Java程序的

cn.stylefeng.guns

config 配置中心 所有的配置文件

datasource 数据库相关配置

properties 系统的相关配置信息

web 整个项目的配置 swagger beetl shiro配置 等

core 核心代码所在的包

aop 自定义Aop的实现 基于Aop实现日志记录、基于Aop实现权限的校验

beetl 针对beetl模板引擎的操作

common 功能模块

自定义注解

modular 核心模块对应的代码

resources 资源文件

webapp 页面 静态、jsp等


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议