李小萌资源网 编程相关 开源Guns框架 基于SpringBoot 2,致力于做更简洁的后台管理系统(完整教程视频)


开源Guns框架 基于SpringBoot 2,致力于做更简洁的后台管理系统(完整教程视频)

2019-08-23 2710
小夕
资源介绍

开源Guns框架 基于SpringBoot 2,致力于做更简洁的后台管理系统(完整教程视频)

介绍
Guns基于SpringBoot 2,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架! 2018目标xa0
更简洁
更规范
Guns v5.1更新内容
框架整体的包名变为cn开头,和域名stylefeng.cn保持一致!
优化了shiro相关的几个服务类的结构,整体业务逻辑不变,优化了部分包结构和类之间的关系,项目整体更加简洁和易维护!
整合了guns-core,和roses项目的kernel-core,并把kernel-core上传到了maven的中央仓库!
剔除了guns-generator模块,抽出单独的项目
https://gitee.com/stylefeng/guns-generator来维护,并且guns-generator也上传到了maven中央仓库!
框架整体回归了单模块应用,返璞归真,开箱即用,快速开发新项目,新业务!
另外更新了Guns技术文档的版本到5.1,与项目版本保持一致,详情见文档详情!
最新Guns技术文档
Guns框架有作者在业余时间整理的技术文档,详情点击
查看详情
最新Guns视频教程
Guns框架有作者在业余时间录制的视频教程,详情点击
教程介绍
技术讨论 &xa0
wiki地址
如果对项目有任何疑问或者建议,欢迎加入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.代码生成
项目特点
基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。
完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,通过@BussinessLog注解和LogObjectHolder.me().set()方法,业务操作日志可具体记录哪个用户,执行了哪些业务,修改了哪些数据,并且日志记录为异步执行,详情请见@BussinessLog注解和LogObjectHolder,LogManager,LogAop类。
利用beetl模板引擎对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。
对常用js插件进行二次封装,使js代码变得简洁,更加易维护,具体请见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的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。
基于javabean方式的spring配置
Guns以简洁为核心,抛弃了传统的易错,臃肿xml配置,采用javabean的方式配置spring,简化了项目的配置,如下示例为配置mybatis-plus和数据源:
@Configuration @MapperScan(basePackagesxa0=xa0{com.stylefeng.guns.modular.*.dao,xa0com.stylefeng.guns.common.persistence.dao}) publicxa0classxa0MybatisPlusConfigxa0{ xa0xa0xa0xa0@Autowired xa0xa0xa0xa0DruidPropertiesxa0druidProperties; xa0xa0xa0xa0/** xa0xa0xa0xa0xa0*xa0mybatis-plus分页插件 xa0xa0xa0xa0xa0*/ xa0xa0xa0xa0@Bean xa0xa0xa0xa0publicxa0PaginationInterceptorxa0paginationInterceptor()xa0{ xa0xa0xa0xa0xa0xa0xa0xa0PaginationInterceptorxa0paginationInterceptorxa0=xa0newxa0PaginationInterceptor(); xa0xa0xa0xa0xa0xa0xa0xa0paginationInterceptor.setDialectType(DBType.MYSQL.getDb()); xa0xa0xa0xa0xa0xa0xa0xa0returnxa0paginationInterceptor; xa0xa0xa0xa0} }
业务日志记录
日志记录采用aop(LogAop类)方式对所有包含@BussinessLog注解的方法进行aop切入,会记录下当前用户执行了哪些操作(即@BussinessLog value属性的内容),如果涉及到数据修改,会取当前https请求的所有requestParameters与LogObjectHolder类中缓存的Object对象的所有字段作比较(所以在编辑之前的获取详情接口中需要缓存被修改对象之前的字段信息),日志内容会异步存入数据库中(通过ScheduledThreadPoolExecutor类)。
beetl对前台页面的拆分与包装
例如,把主页拆分成三部分,每个部分单独一个页面,更加便于维护
xa0xa0xa0xa0@include(/common/_tab.html){} xa0xa0xa0xa0@include(/common/_right.html){} xa0xa0xa0xa0@include(/common/_theme.html){}
以及对重复的html进行包装,使前端页面更加专注于业务实现,例如,把所有页面引用包进行提取
<scriptxa0src=${ctxPath}/static/js/jquery.min.js?v=2.1.4> ${layoutContent}

<scriptxa0src=${ctxPath}/static/js/content.js?v=1.0.0>
开发页面时,只需编写如下代码即可
@layout(/common/_container.html){ xa0xa0xa0xa0 xa0xa0xa0xa0xa0xa0xa0xa0 xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0 xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0
部门管理
xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0xa0





百度网盘可以用手机平板电脑在线播放,也可以下载之后播放

本帖资源评论
[其他] Kotlin核心技术入门与进阶详解视频课程
Matlab学习资源合集(视频教程、电子书、源代码)
15G老男孩Linux高薪运维23期完整版 19部分学习老男孩高薪运维 老男孩Linux运维视频
数据库设计和应用案例——合同管理系统
6月数据挖掘课程7月在线
2012免杀360系列教程
明日学院apk 客户端 VIP破解版
ActiveMQ RabbitMQ RokcetMQ Kafka 消息队列 中间件 视频教程
开源网管软件Cacti系列视频讲座(1-6讲 共8段视频全集)
[Hadoop] 分布式数据库Hbase-38堂课带你从入门到精通Habse Hadoop大数据开发必
OCP新版课程 Oracle 11g OCP 脱产班培训全套视频课程 051 052 053
前端大神萧井陌亲授Web前端班课程完整版 17天零基础学习Web前端视频教程
廖雪峰商业爬虫 附带课件
[麦子学院]网络安全工程师视频教程从入门到精通学习_网络安全入门教程
安全中国平面美工设计师就业工作专修班
2019首发易语言基础第2套教程
[Hadoop] Hbase的高阶应用课程&Hadoop的分布式技术实战 深入解读HADOOP+HA
[大数据] 基于Flink流处理的动态实时亿级电商全端用户画像系统
乐优商城19天完整带笔记无密版2018
CorelDRAW 平面设计
没有账号? 注册