1. 项目背景与核心需求
作为一名长期从事校园信息化建设的开发者,我最近完成了一个基于SpringBoot的学生公寓管理APP项目。这个项目源于高校后勤部门提出的实际需求——传统纸质登记和电话报修方式效率低下,学生投诉处理周期长,各类费用收缴缺乏透明度。经过与多所高校公寓管理人员的深入交流,我们梳理出以下核心痛点:
- 报修流程冗长:从学生报修到维修完成平均需要3-5天
- 信息孤岛现象:水电费、门禁记录、维修记录分散在不同系统
- 应急响应滞后:安全事件无法实时上报和处理
- 管理成本高昂:需要大量人力进行日常巡检和登记
针对这些问题,我们决定采用移动端+Web端协同的方案,使用SpringBoot作为后端框架,主要基于以下考虑:
- SpringBoot的自动配置特性可快速搭建RESTful API
- 内置Tomcat容器简化部署流程
- 丰富的Starter依赖能快速集成MySQL、Redis等组件
- Actuator端点方便后期运维监控
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构设计
系统采用经典的三层架构:
code复制[移动端APP] ←HTTP/HTTPS→ [SpringBoot后端] ←JDBC→ [MySQL数据库]
↑
[Web管理端] ←WebSocket→
关键设计决策:
- 前后端完全分离,通过JSON格式交互数据
- 采用JWT进行身份认证,避免Session存储
- 敏感操作(如费用支付)使用AOP记录日志
- 重要通知通过WebSocket实时推送
2.2 技术栈选型
后端核心组件:
- SpringBoot 2.7.18(选择LTS版本确保稳定性)
- Spring Security(权限控制)
- MyBatis-Plus(数据库操作)
- Redis 6.x(缓存热点数据)
- Quartz(定时任务,如费用催缴)
前端技术:
- 移动端:Uni-app框架(一套代码多端发布)
- Web端:Vue3 + Element Plus
数据库设计:
- MySQL 8.0(事务型数据)
- 分表策略:按学年分表(如repair_2023)
- 索引优化:为所有外键字段添加B+树索引
