随着信息技术的飞速发展,软件开发框架在提升开发效率、降低成本方面扮演着至关重要的角色。Guns框架,作为一个现代化的Java应用开发框架,凭借其基于Spring Boot2与Vue3的先进技术栈,以及插件化架构的灵活性,正逐渐成为业界的佼佼者。本文深入探讨了Guns框架的核心理念、技术架构及其在实际应用中的优势。
Guns简介
Guns是国内一个非常优秀的开源框架,功能就是快速搭建后台应用系统,Guns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl + flowable!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架。
Guns系统特点
1、基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。
2、完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,通过@BussinessLog注解和LogObjectHolder.me().set()方法,业务操作日志可具体记录哪个用户,执行了哪些业务,修改了哪些数据,并且日志记录为异步执行,详情请见@BussinessLog注解和LogObjectHolder,LogManager,LogAop类。
3、利用beetl模板引擎对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。
4、对常用js插件进行二次封装,使js代码变得简洁,更加易维护。
5、controller层采用map + warpper方式的返回结果,返回给前端更为灵活的数据,具体参见com.stylefeng.guns.modular.system.warpper包中具体类。
6、防止XSS攻击,通过XssFilter类对所有的输入的非法字符串进行过滤以及替换。
7、简单可用的代码生成体系,通过SimpleTemplateEngine可生成带有主页跳转和增删改查的通用控制器、html页面以及相关的js,还可以生成Service和Dao,并且这些生成项都为可选的,通过ContextConfig下的一些列xxxSwitch开关,可灵活控制生成模板代码,让您把时间放在真正的业务上。
8、控制器层统一的异常拦截机制,利用@ControllerAdvice统一对异常拦截,具体见com.stylefeng.guns.core.aop.GlobalExceptionHandler类。
9、页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码。
10、在线系统参数配置,灵活控制常用功能的开关,无需重启项目即可生效,实时刷新。
Guns应用场景
1. **企业内部管理平台**:可以用来快速搭建企业的内部管理平台,如员工信息管理、考勤管理、项目管理等。
2. **行政管理系统**:适合用于搭建政府机关、学校、医院等单位的行政管理平台,实现资源分配、工作流程自动化等。
3. **业务运营系统**:对于需要快速构建的业务运营系统,如CRM客户管理系统、ERP企业资源计划系统等,Guns框架可以提供一个良好的起点。
4. **电商后台管理**:可以用来开发电商平台的后台管理系统,实现商品管理、订单处理、库存管理等功能。
5. **SaaS服务**:为SaaS服务提供商提供一个多租户的后台管理系统,支持不同的客户在系统中隔离使用。
6. **移动办公应用**:结合移动开发技术,可以开发适用于移动设备的办公应用,实现移动审批、数据查看等功能。
7. **数据分析和报告系统**:利用Guns框架的日志管理功能,可以开发用于数据分析和生成报告的系统。
8. **权限控制系统**:为企业或组织的IT系统提供一个强大的权限控制系统,保障数据安全和操作合规。
9. **信息发布平台**:快速构建信息发布平台,如新闻网站、公告板系统等。
10. **个人项目实践**:对于学习Java Web开发和Spring Boot的开发者来说,Guns框架是一个很好的实践项目。
11. **教学和培训**:在教育培训领域,Guns框架可以作为教学工具,用于演示和教授后台系统开发。
12. **创业项目**:对于初创公司来说,Guns框架可以减少初始开发工作量,快速实现产品原型。
快速启动
1. 启动后端
首先下载Guns项目,用idea使用open,在idea打开这个项目
打开之后不着急运行项目,先打开idea -> file -> settings,如下
检查maven的配置,是否和本机安装路径一致,maven的settings.xml文件,是否和 [环境准备]章节中路径一致,如果不一致可以参考下图修改:
修改完maven配置后,打开application-local.yml配置文件,修改数据库的链接配置为你的配置
注意库名要和数据库的库名一致,如果数据库没有这个库的话需要创建。
注意,数据库内容不用初始化,因为项目启动后会自动初始化表。所以一定要准备一个空库。
之后运行,Guns的启动类即可。
启动成功会提示success
2. 启动前端
v7.3.0前端已换成vue,需要单独启动前端项目。
Guns前端项目地址:
安装依赖
在项目根目录,执行如下命令,将项目依赖全部安装。
# 请不要使用npm命令,就用yarnyarn
启动
启动之前,检查dev环境连接的后端服务接口地址是否正确。
执行如下命令,在本地启动项目。
yarn run dev
如果控制台看到如下提示即表示启动成功。
访问:8000/即可看到登录界面
Guns体验
总结
Guns框架作为现代化Java应用开发的代表,其基于Spring Boot2与Vue3的技术栈、插件化架构的灵活性以及丰富的功能和工具,使其在业界具有广泛的影响力和应用前景。随着版本的不断更新和优化,Guns框架将继续为Java应用开发领域带来更多的创新和价值。
开源地址: