1. 项目背景与核心需求
作为一名经历过多次高校宿舍分配混乱局面的过来人,我深知传统手工排寝的痛点。每到开学季,宿管老师桌上堆积如山的纸质申请表、频繁出错的床位分配表、永远处理不完的调宿请求,这些场景至今记忆犹新。去年协助母校信息化建设时,我们团队决定用Java+SpringBoot技术栈打造一套智能宿舍管理系统,彻底改变这种低效状态。
这个系统的核心要解决三个关键问题:
- 分配效率:新生入学时需要在2小时内完成3000+学生的自动分配,考虑专业、班级、性别等十余个约束条件
- 流程闭环:从分配到日常报修再到离校退宿,形成完整的数字化管理链条
- 权限隔离:区分管理员、宿管、学生三类角色,确保数据安全与操作合规
实际开发中发现,高校宿舍分配远比商业租房系统复杂,需要处理"同专业集中住宿"、"少数民族特殊安排"、"身体残疾学生优先分配"等二十余种业务规则
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 技术栈决策过程
为什么选择这套技术组合?这是被问最多的问题。经过多轮技术论证,我们最终确定的方案是:
- 后端:SpringBoot 2.7 + MyBatis-Plus
- 放弃SSM传统组合:配置繁琐,启动慢(实测SSM项目启动需要8秒,SpringBoot仅2.3秒)
- 放弃JPA:复杂查询的SQL优化难度大,不适合报表密集场景
- 前端:Thymeleaf + Bootstrap 5
- 不选Vue/React:考虑到学校IT部门维护能力,需要服务端渲染方案
- Bootstrap响应式布局完美适配宿管老师的各种老旧显示器
- 数据库:MySQL 8.0
- 关键配置:
innodb_buffer_pool_size=2G(宿舍历史数据可达百万级) - 禁用MyISAM:避免全表锁影响并发分配
- 关键配置:
2.2 系统架构图解
code复制[浏览器层] ←HTTP→ [Web层] ←→ [业务层] ←→ [数据访问层]
↑ ↑
[权限拦截] [事务管理]
特别说明三层权限控制设计:
- URL级:Spring Security的`antMatc
