1. 项目概述与背景
作为一名在高校信息化建设领域摸爬滚打多年的开发者,我深知传统教学管理系统存在的痛点。去年我们团队接到绥大教务处的需求,要开发一套全新的学习平台管理系统。这个项目从立项到上线历时8个月,期间踩过不少坑,也积累了很多实战经验。
为什么选择Spring Boot作为技术栈?这要从高校系统的特殊性说起。教学管理系统不同于普通Web应用,它需要应对开学选课时的流量洪峰(我们实测最高并发达到3000+),要处理复杂的权限控制(学生/教师/管理员三级权限体系),还要保证长期运行的稳定性(高校系统往往一用就是5-10年)。Spring Boot的自动配置、内嵌Tomcat和丰富的Starter依赖,让我们能快速构建出符合这些要求的系统。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术栈选型
后端核心框架:
- Spring Boot 2.7.3(长期支持版本)
- Spring Security(权限控制)
- MyBatis-Plus(数据持久层)
- Redis 6.x(缓存热点数据)
前端技术:
- Vue 3 + Element Plus(管理后台)
- Uni-app(跨平台移动端)
数据库:
- MySQL 8.0(主库)
- MongoDB 4.4(非结构化数据存储)
这个技术组合经过了深思熟虑。比如为什么不用Spring Cloud?因为高校系统通常部署在内网单机环境,微服务带来的复杂度反而会成为负担。而选择MyBatis-Plus而不是JPA,是因为高校业务中有大量复杂报表查询,需要更灵活的SQL控制。
2.2 系统模块划分
我们采用经典的三层架构,但针对教学场景做了特殊设计:
-
表现层:
- Web前端:课程学习、作业提交等核心功能
- 移动端:支持iOS/Android/微信小程序
- 管理后台:基于RBAC模型的权限系统
-
业务层:
- 课程服务(CourseService)
- 作业服务(AssignmentService)
- 成绩服务(GradeService)
- 消息服务(MessageService)
-
数据层:
- 主库MySQL:存储结构化数据
- MongoDB:存储课件、视频等资源元数据
- Redis:缓
