# Guns V4.0
## 介绍
Guns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架! 2018目标 `更简洁`,`更规范`!
Guns v3.0新增rest api服务,提供对接服务端接口的支持,并利用jwt token鉴权机制给予客户端的访问权限,传输数据进行md5签名保证传输过程数据的安全性!
### Guns v4.0更新内容
> * spring boot升级到2.0版本!
> * 简化前端所有的html,js,css等资源文件,由11.8MB缩减为4.8MB!
> * 新增手动增加标签页的方法,Feng.newCrontab(href,menuName);
> * laydate时间插件和layer弹出层插件更新为官网最新,可以看着layui官网的文档直接开发啦!
> * 去掉animate动画效果,加快页面响应速度!
> * 修复登陆后重启应用造成404的bug!
> * 增强core模块的功能,拿来即用开发新的模块的后端管理系统!
> * 升级各个依赖包的版本!
> * 简化applicatioin.yml的配置,一些固定不变的配置写在core模块的default-config.properties!
> * 简化多数据源配置,简化mybatis-plus的配置!
> * 优化日志记录格式和策略,详情见logback-spring.xml!
此外,**更新Guns文档到《Guns技术文档 v2.0》**
## 最新Guns技术文档
Guns框架有作者在业余时间整理的技术文档,详情点击[查看详情](https://gitee.com/naan1993/guns/wikis/pages?title=Guns%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3&parent=)
## 最新Guns视频教程
Guns框架有作者在业余时间录制的视频教程,详情点击[教程介绍](https://gitee.com/naan1993/guns/wikis/pages?title=Guns%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B&parent=)
## 技术讨论 & [wiki地址](https://gitee.com/naan1993/guns/wikis/Home)
如果对项目有任何疑问或者建议,欢迎加入Guns技术交流1群:254550081,Guns技术交流2群:684163663,Guns技术交流3群:207434260(加之前先看下文档guns-admin/doc/Guns技术文档 v1.0.pdf)
## 管理系统功能
1.用户管理 2.角色管理 3.部门管理 4.菜单管理 5.字典管理 6.业务日志 7.登录日志 8.监控管理 9.通知管理 10.代码生成
## 项目特点
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的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。
## 基于javabean方式的spring配置
Guns以简洁为核心,抛弃了传统的易错,臃肿xml配置,采用javabean的方式配置spring,简化了项目的配置,如下示例为配置mybatis-plus和数据源:
```
@Configuration
@MapperScan(basePackages = {"com.stylefeng.guns.modular.*.dao", "com.stylefeng.guns.common.persistence.dao"})
public class MybatisPlusConfig {
@Autowired
DruidProperties druidProperties;
/**
* mybatis-plus分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
paginationInterceptor.setDialectType(DBType.MYSQL.getDb());
return paginationInterceptor;
}
}
```
## 业务日志记录
日志记录采用aop(LogAop类)方式对所有包含@BussinessLog注解的方法进行aop切入,会记录下当前用户执行了哪些操作(即@BussinessLog value属性的内容),如果涉及到数据修改,会取当前http请求的所有requestParameters与LogObjectHolder类中缓存的Object对象的所有字段作比较(所以在编辑之前的获取详情接口中需要缓存被修改对象之前的字段信息),日志内容会异步存入数据库中(通过ScheduledThreadPoolExecutor类)。
## beetl对前台页面的拆分与包装
例如,把主页拆分成三部分,每个部分单独一个页面,更加便于维护
```
<!--左侧导航开始-->
@include("/common/_tab.html"){}
<!--左侧导航结束-->
<!--右侧部分开始-->
@include("/common/_right.html"){}
<!--右侧部分结束-->
<!--右侧边栏开始-->
@include("/common/_theme.html"){}
<!--右侧边栏结束-->
```
以及对重复的html进行包装,使前端页面更加专注于业务实现,例如,把所有页面引用包进行提取
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit" /><!-- 让360浏览器默认选择webkit内核 -->
<!-- 全局css -->
<link rel="shortcut icon" href="${ctxPath}/static/favicon.ico">
<!-- 全局js -->
<script src="${ctxPath}/static/js/jquery.min.js?v=2.1.4"></script>
<body class="gray-bg">
<div class="wrapper wrapper-content">
${layoutContent}
</div>
<script src="${ctxPath}/static/js/content.js?v=1.0.0"></script>
</body>
</html>
```
开发页面时,只需编写如下代码即可
```
@layout("/common/_container.html"){
<div class="row">
<div class="col-sm-12">
<div class="ibox float-e-margins">
<div class="ibox-title">
<h5>部门管理</h5>
</div>
<div class="ibox-content">
//自定义内容
</div>
</div>
</div>
</div>
<script src="${ctxPath}/static/modular/system/dept/dept.js"></script>
@}
```
以上beetl的用法请参考beetl说明文档。
## 对js常用代码的封装
在webapp/static/js/common目录中,有对常用js代码的封装,例如Feng.js,其中Feng.info(),Feng.success(),Feng.error()三个方法,分别封装了普通提示,成功提示,错误提示的代码,简化了layer提示层插件的使用。
## 极简的图片上传方法
guns对web-upload进行二次封装,让图片的上传功能呢只用2行代码即可实现,如下
```
var avatarUp = new $WebUpload("avatar");
avatarUp.init();
```
具体实现请参考static/js/common/web-upload-object.js
## 独创controller层,map+warpper返回方式
m
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
目 录 第1章 前言 1.1 项目开发背景 1.2 项目开发的意义 1.3 主要研究内容 第2章 可行性分析 2.1可行性分析 2.1.1技术可行性 2.1.2经济可行性 2.1.3操作可行性 2.2需求分析 2.2.1功能需求分析 2.2.2用户角色需求 2.2.3性能需求 第3章 系统设计 3.1系统思维导图 3.2系统主要功能点设计 3.3数据库设计 3.3.1系统整体的E-R图 3.3.2数据库结构设计 第4章 详细设计与实现 4.1界面设计 4.1.1首页界面 4.1.2首页详情 4.2使用流程设计 4.3详细实现 4.3.1登录模块 4.3.2剧情简介模块 4.3.3影院列表模块 4.3.4电影类型模块 4.3.5选座模块 4.3.6订单模块 4.3.7付款模块 4.3.8个人模块 第5章 软件测试 5.1测试原则 5.2测试声明 5.3测试目的 5.4测试用例 5.5测试结果 第6章 总结 参考文献 致 谢
资源推荐
资源详情
资源评论
收起资源包目录
电影院售票管理系统的设计与实现(论文+源码)-kaic.zip (1721个子文件)
page.js.btl 3KB
page.js.btl 3KB
Controller.java.btl 3KB
Controller.java.btl 3KB
page_info.js.btl 2KB
page_info.js.btl 2KB
page_edit.html.btl 2KB
page_edit.html.btl 2KB
page.html.btl 2KB
page.html.btl 2KB
page_add.html.btl 2KB
page_add.html.btl 2KB
menu_sql.sql.btl 395B
menu_sql.sql.btl 395B
Convert.class 19KB
StrKit.class 18KB
CollectionKit.class 18KB
FilmServiceImp.class 16KB
UserMgrController.class 13KB
BeanKit.class 13KB
AlipayHeartbeatSynRequestBuilder.class 12KB
AbsAlipayTradeService.class 11KB
CinemaServiceImp.class 11KB
ImgQrTool.class 10KB
ToolUtil.class 10KB
ConstantFactory.class 10KB
DefaultAlipayServiceImp.class 10KB
FilmController.class 10KB
DateTimeKit.class 10KB
OrderServiceImp2018.class 10KB
OrderServiceImp2017.class 10KB
OrderServiceImp.class 9KB
MenuController.class 9KB
AlipayTradeWithHBServiceImpl.class 9KB
AlipayTradePayRequestBuilder.class 9KB
AlipayHeartbeatSynRequestBuilder$BizContent.class 8KB
RoleController.class 8KB
OrderController.class 8KB
AlipayTradePrecreateRequestBuilder.class 8KB
FTPUtil.class 8KB
UserInfoModel.class 8KB
Contrast.class 8KB
ShiroConfig.class 7KB
DictSelectorTag.class 7KB
HttpKit.class 7KB
SqlConfig.class 7KB
CInemaController.class 7KB
MenuNode.class 7KB
WebConfig.class 7KB
Configs.class 6KB
AlipayTradePayRequestBuilder$BizContent.class 6KB
AlipayTradeServiceImpl.class 6KB
DeptController.class 6KB
FilmDetailVO.class 6KB
FTPUtil.class 6KB
ContextConfig.class 6KB
AlipayTradePrecreateRequestBuilder$BizContent.class 6KB
BaseController.class 6KB
DictController.class 6KB
ShiroKit.class 6KB
DruidProperties.class 6KB
WebGeneratorConfig.class 6KB
UserServiceImp.class 6KB
LoginController.class 6KB
FilmInfo.class 6KB
NoticeController.class 5KB
ResponseVO.class 5KB
DictServiceImpl.class 5KB
GenQo.class 5KB
FilmIndexVO.class 5KB
LogAop.class 5KB
GlobalExceptionHandler.class 5KB
EntityGenerator.class 5KB
FilmInfoVO.class 5KB
AbstractGeneratorConfig.class 5KB
HexKit.class 5KB
EntityGenerator.class 5KB
EntityGenerator.class 5KB
EntityGenerator.class 5KB
EntityGenerator.class 5KB
MoocUserT.class 5KB
AlipayTradeRefundRequestBuilder.class 5KB
MoocFilmT.class 5KB
ShiroFactroy.class 5KB
EntityGenerator.class 5KB
EntityGenerator.class 5KB
GunsTemplateEngine.class 5KB
JwtTokenUtil.class 5KB
JwtTokenUtil.class 5KB
JwtTokenUtil.class 5KB
JwtTokenUtil.class 5KB
JwtTokenUtil.class 5KB
JwtTokenUtil.class 5KB
JwtTokenUtil.class 5KB
ClassKit.class 5KB
DateUtil.class 5KB
OrderVO.class 5KB
User.class 5KB
MultiDataSourceConfig.class 5KB
GunsGeneratorConfig.class 5KB
共 1721 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
开心工作室_kaic
- 粉丝: 2w+
- 资源: 719
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于图像的三维模型重建C++源代码+文档说明(高分课程设计)
- 基于聚焦法的工件立体测量方案,根据数据进行三维重建 使用HALCON处理图像,MATLAB拟合数据+源代码+数据集+效果图
- 锄战三国村 修改:货币使用不减 v1.10(2) 原创 (中文).apk
- 基于python实现的单目双目视觉三维重建+源代码+图像图片(高分课程设计)
- 基于C+++OPENCV的全景图像拼接源码(课程设计)
- 基于Python+OpenCV对多张图片进行全景图像拼接,消除鬼影,消除裂缝+源代码+文档说明+界面截图(高分课程设计)
- 基于C++实现的全景图像拼接源码(课程设计)
- 基于SIFT特征点提取和RASIC算法实现全景图像拼接python源码+文档说明+界面截图+详细注释(95分以上课程大作业)
- 基于matlab实现眼部判别的疲劳检测系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的异常姿势识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功