面向高校图书馆日常业务的图书管理系统:图书编目与分类、读者管理、借出/归还/续借、库存联动、逾期罚金结算与借阅统计。后端 Spring Boot 3 + Spring Data JPA 分层架构,前端 Vue 3 无需构建,默认 H2 文件库免安装、可一键切换 MySQL。论文围绕「馆藏总量 = 在借册数 + 可借册数」的库存一致性与事务设计展开。
技术栈
Java 17、Spring Boot 3、Spring Data JPA、Vue 3、ECharts、MySQL
功能模块
- 分层架构:Controller / Service / Repository / Entity 四层,统一响应 {code,message,data} 与全局异常处理
- 库存一致性:馆藏总量 = 在借 + 可借,借出减、归还加、编辑总量同步可借数,全部在 @Transactional 事务内完成
- 借出四重校验:读者未冻结、在借未达上限、库存充足、同一读者未重复借同一本未还图书
- 归还结算:按 0.2 元/天计算逾期天数与罚金并写入记录;续借最多 2 次且超期不可续借
- 双数据库:MySQL 8.0 为部署口径,交付默认 H2 文件库(免安装),--spring.profiles.active=mysql 一键切换
- 六个业务页面:工作台、图书、分类、读者、借阅、统计;前端本地 Vue 3 全局构建,无需 Node 打包
- 统计报表:总览指标、近 30 天借还趋势、分类馆藏分布、借阅排行 TOP 10 与分类明细
- 登录与会话:口令 SHA-256 加盐摘要,HttpSession + 自定义 AuthInterceptor 统一拦截(未引入 Spring Security)
运行环境
- 编程语言:Java 17(编译目标;JDK 20 运行正常)
- 后端框架:Spring Boot 3.2.5 + Spring Data JPA / Hibernate
- 参数校验:Jakarta Bean Validation
- 构建工具:Maven 3.6+
- 前端:Vue 3(本地 vue.global.prod.js,无需 Node 构建)+ Bootstrap Icons + ECharts 5
- 数据库:MySQL 8.0(交付默认 H2 文件库,免安装,可一键切换)
- 会话与安全:HttpSession + 自定义 AuthInterceptor;口令 SHA-256 加盐摘要
- 操作系统:Windows / macOS / Linux
- 启动方式:双击一键脚本,或 java -jar library-system.jar
界面截图










文档预览
交付的任务书、开题报告与论文均为 Word 文档,下面是真实页面预览:



交付内容
- 完整源码(已跑通,Spring Boot 工程 + 六个前端页面 + 前端资源)
- Maven Wrapper 与一键启动脚本(Windows / macOS;缺 jar 时自动构建,首次联网下载依赖)
- H2 演示数据库(8 个分类 / 40 种图书 / 40 位读者 / 约 196 条借阅记录)与 MySQL 配置
- 毕业设计任务书(Word)
- 开题报告(Word)
- 毕业论文(Word,七章制,含库存一致性与事务设计、测试用例)
- 系统使用与二次开发说明(Word + md)
- 10 张系统运行截图