基于SpringBoot+spring mvc+Mybatis+beetl+bootstrap 实现的简洁开源网站后台管理系统 Guns
项目描述
Guns 基于 SpringBoot,致力于做更简洁的后台管理系统,完美整合 spring mvc + shiro + mybatis-plus + beetl!Guns 项目代码简洁,注释丰富,上手容易,同时 Guns 包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架! 2018目标 更简洁,更规范!
Guns v3.0 新增 rest api 服务,提供对接服务端接口的支持,并利用 jwt token 鉴权机制给予客户端的访问权限,传输数据进行 md5 签名保证传输过程数据的安全性!
管理系统功能
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的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。
运行环境
jdk8+tomcat8+mysql+Eclipse+maven
项目技术
SpringBoot+springmvc + shiro + mybatis-plus + beetl+jquery+bootstrap
数据库文件
链接1:https://pan.baidu.com/s/1AdjePVO8qf8WJbq9VDkJWA 密码:huvl
链接2: https://pan.baidu.com/s/1Bg5yl7IbLDGuNQSxJmzLDw 密码: 6pa3
项目截图
运行截图
用户名:admin 密码:111111
注意事项
该项目是一个开源的项目,仅供大家学习使用。
eclipse部署guns:
1、import -> 搜索maven -> Existing Maven Projects -> 选择guns根目录
2、修改配置文件:
spring
datasource : 修改为本人的数据库连接
guns
flowable :修改为本人的数据库连接
muti-datasource:修改为本人的数据库连接
3、启动guns工程:
3.1 运行java文件启动
3.1.1 src/java/main/com/stylefeng/guns/GunsApplication
3.1.2 run as -> java application
3.2 运行jar文件启动
3.2.1 编译打包成jar文件
a) 找到 guns-parent工程
b) run as -> maven build -> 执行如下命令
c) clean package -Dmaven.test.skip=true
3.2.2 执行jar文件
java -jar guns-admin-1.0.0-SNAPSHOT.jar
3.3 运行war文件启动
3.3.1 修改guns-admin中的pom文件
packaging -> war
3.3.2 编译打包成jar文件
a) 找到 guns-parent工程
b) run as -> maven build -> 执行如下命令
c) clean package -Dmaven.test.skip=true
3.3.3 执行war文件
a) 将war文件放置在tomcat中的webapps目录下
b) 将guns-admin-1.0.0-SNAPSHOT.war修改为ROOT.war
c) 启动tomcat即可
%TOMCAT_HOME%/bin/startup.bat
1、使用idea进行open -> guns-parent
2、修改数据源:
目标:guns-admin\src\main\resources\application.yml
修改内容:
2.1 spring.datasource
2.2 guns.flowable.datasource
2.3 guns.flowable.muti-datasource
3、启动guns:
3.1 运行java文件【spring boot】
运行guns-admin\src\main\java\com\stylefeng\guns\GunsApplication.java
3.2 直接运行jar文件
3.2.1 对guns进行打包部署
3.2.1.1 找到guns-parent
3.2.1.2 运行命令
mvn clean package -Dmaven.test.skip=true
3.2.1.3 拷贝jar包至运行目录
3.2.1.4 运行命令
java -jar guns-admin-1.0.0-SNAPSHOT.jar
3.3 运行war包
准备:修改guns-admin中的pom文件打包方式
3.3.1 对guns进行打包部署
3.3.1.1 找到guns-parent
3.3.1.2 运行命令
mvn clean package -Dmaven.test.skip=true
3.3.1.3 拷贝war包至web服务器tomcat的webapps中
3.3.1.4 将war包名称修改为ROOT.war
3.3.1.5 启动tomcat
%TOMCAT_HOME%/bin/startup.bat
项目视频介绍:https://www.imooc.com/learn/936
码云地址:https://gitee.com/naan1993/guns/
Github地址:https://github.com/stylefeng/Guns