Guns V2.5:基于SpringBoot的企业级开发框架
项目介绍
Guns V2.5 是一款基于 SpringBoot 的企业级开发框架,旨在为企业级应用提供一套简洁、高效、易扩展的解决方案。该项目由 stylefeng 的 Guns 项目 fork 而来,并在原有基础上进行了全面升级和优化。Guns V2.5 完美整合了 SpringMVC、Shiro、MyBatis 通用 Mapper、分页插件 PageHelper 以及 Beetl 模板引擎,为企业级应用开发提供了强大的支持。
项目技术分析
核心技术栈
- SpringBoot:作为项目的核心框架,简化了项目的配置和依赖管理,让开发者更专注于业务逻辑的实现。
- MyBatis 通用 Mapper:通过通用 Mapper,开发者可以大幅减少 SQL 语句的编写,提高开发效率。
- 分页插件 PageHelper:集成 PageHelper 插件,轻松实现数据库查询的分页功能。
- Beetl 模板引擎:Beetl 提供了简洁高效的模板语法,使得前端页面的开发更加便捷。
依赖管理
Guns V2.5 引入了以下两个关键依赖:
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>${mapper-starter.version}</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper-starter.version}</version>
</dependency>
这些依赖的引入,使得项目在数据访问层和分页处理上更加高效和便捷。
项目结构
Guns V2.5 的项目结构清晰,代码组织合理,便于团队协作和维护。主要包结构如下:
├─main
│ │
│ ├─java
│ │ │
│ │ ├─com.stylefeng.guns----------------项目主代码
│ │ │ │
│ │ │ ├─common----------------项目公用的部分(业务中经常调用的类,例如常量,异常,实体,注解,分页类,节点类)
│ │ │ │
│ │ │ ├─config----------------项目配置代码(例如mybtais-plus配置,ehcache配置等)
│ │ │ │
│ │ │ ├─core----------------项目运行的核心依靠(例如aop日志记录,拦截器,监听器,guns模板引擎,shiro权限检查等)
│ │ │ │
│ │ │ ├─modular----------------项目业务代码
│ │ │ │
│ │ │ ├─GunsApplication类----------------以main方法启动springboot的类
│ │ │ │
│ │ │ └─GunsServletInitializer类----------------用servlet容器启动springboot的核心类
│ │ │
│ │ └─generator----------------mybatis-plus Entity生成器
│ │
│ ├─resources----------------项目资源文件
│ │ │
│ │ ├─gunsTemplate----------------guns代码生成模板
│ │ │
│ │ ├─application.yml----------------springboot项目配置
│ │ │
│ │ └─ehcache.xml----------------ehcache缓存配置
│ │
│ └─webapp----------------web页面和静态资源存放的目录
项目及技术应用场景
Guns V2.5 适用于各种企业级应用的开发,尤其是需要快速构建后台管理系统、业务管理系统等场景。其强大的技术栈和丰富的功能模块,使得项目在以下场景中表现尤为出色:
- 企业内部管理系统:如人力资源管理系统、财务管理系统、客户关系管理系统等。
- 电商后台管理系统:支持商品管理、订单管理、用户管理等功能。
- 数据分析平台:通过分页插件和通用 Mapper,轻松实现大数据量的查询和展示。
项目特点
1. 基于 SpringBoot 的简洁配置
Guns V2.5 基于 SpringBoot,简化了大量项目配置和 Maven 依赖,让开发者更专注于业务开发。独特的分包方式,使得代码多而不乱,易于维护。
2. 完善的日志记录体系
项目提供了完善的日志记录体系,可记录登录日志、业务操作日志(包括操作前后的数据变化)、异常日志到数据库。通过 @BussinessLog 注解和 LogObjectHolder 类,业务操作日志可具体记录哪个用户执行了哪些操作,修改了哪些数据,并且日志记录为异步执行,确保系统性能不受影响。
3. 前端页面优化
利用 Beetl 模板引擎对前台页面进行封装和拆分,使臃肿的 HTML 代码变得简洁,更加易维护。对常用 JS 插件进行二次封装,使 JS 代码变得简洁,更加易维护。
4. 数据缓存与性能优化
通过 Ehcache 框架对经常调用的查询进行缓存,提升系统运行速度。具体实现请见 ConstantFactory 类中 @Cacheable 标记的方法。
5. 灵活的返回结果
Controller 层采用 Map + Wrapper 方式的返回结果,返回给前端更为灵活的数据。通过 Wrapper 包装类,使返回的参数更加具体,更加有含义。
6. 防止 XSS 攻击
通过 XssFilter 类对所有的输入的非法字符串进行过滤以及替换,有效防止 XSS 攻击,提升系统安全性。
7. 代码生成体系
项目提供了简单可用的代码生成体系,通过 SimpleTemplateEngine 可生成带有主页跳转和增删改查的通用控制器、HTML 页面以及相关的 JS,还可以生成 Service 和 Dao。通过 ContextConfig 下的一些列 xxxSwitch 开关,可灵活控制生成模板代码,让开发者把时间放在真正的业务上。
8. 统一的异常拦截机制
通过 @ControllerAdvice 统一对异常进行拦截,具体见 com.stylefeng.guns.core.aop.GlobalExceptionHandler 类,确保系统在出现异常时能够统一处理,提升用户体验。
9. 页面 JS 单例模式
每个页面生成一个唯一的全局变量,提高 JS 的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,更好地维护代码。
10. 数据范围控制
Guns V2.5 独创了 MyBatis 数据范围拦截器,实现对数据权限的过滤。通过在 Mapper 接口的参数中增加 DataScope 对象,可以动态增加一个字段 sexName 直接返回给前台性别的中文名称,提升开发效率。
总结
Guns V2.5 作为一款基于 SpringBoot 的企业级开发框架,凭借其简洁的配置、强大的功能模块和高效的技术栈,为企业级应用开发提供了强有力的支持。无论是企业内部管理系统、电商后台管理系统,还是数据分析平台,Guns V2.5 都能轻松应对,帮助开发者快速构建高效、稳定的企业级应用。
如果你正在寻找一款高效、易用的企业级开发框架,Guns V2.5 绝对值得一试!
ERNIE-4.5-VL-28B-A3B-ThinkingERNIE-4.5-VL-28B-A3B-Thinking 是 ERNIE-4.5-VL-28B-A3B 架构的重大升级,通过中期大规模视觉-语言推理数据训练,显著提升了模型的表征能力和模态对齐,实现了多模态推理能力的突破性飞跃Python00
unified-cache-managementUnified Cache Manager(推理记忆数据管理器),是一款以KV Cache为中心的推理加速套件,其融合了多类型缓存加速算法工具,分级管理并持久化推理过程中产生的KV Cache记忆数据,扩大推理上下文窗口,以实现高吞吐、低时延的推理体验,降低每Token推理成本。Python03
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
Spark-Prover-7BSpark-Prover-7B is a 7B-parameter large language model developed by iFLYTEK for automated theorem proving in Lean4. It generates complete formal proofs for mathematical theorems using a three-stage training framework combining pre-training, supervised fine-tuning, and reinforcement learning. The model achieves strong formal reasoning performance and state-of-the-art results across multiple theorem-proving benchmarksPython00
MiniCPM-V-4_5MiniCPM-V 4.5 是 MiniCPM-V 系列中最新且功能最强的模型。该模型基于 Qwen3-8B 和 SigLIP2-400M 构建,总参数量为 80 亿。与之前的 MiniCPM-V 和 MiniCPM-o 模型相比,它在性能上有显著提升,并引入了新的实用功能Python00
Spark-Formalizer-7BSpark-Formalizer-7B is a 7B-parameter large language model by iFLYTEK for mathematical auto-formalization. It translates natural-language math problems into precise Lean4 formal statements, achieving high accuracy and logical consistency. The model is trained with a two-stage strategy combining large-scale pre-training and supervised fine-tuning for robust formal reasoning.Python00
GOT-OCR-2.0-hf阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile014
Spark-Scilit-X1-13B科大讯飞Spark Scilit-X1-13B基于最新一代科大讯飞基础模型,并针对源自科学文献的多项核心任务进行了训练。作为一款专为学术研究场景打造的大型语言模型,它在论文辅助阅读、学术翻译、英语润色和评论生成等方面均表现出色,旨在为研究人员、教师和学生提供高效、精准的智能辅助。Python00- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00