1. 项目背景与核心需求
作为一名经历过毕业设计洗礼的开发者,我深知一个优秀的学生互助平台对校园生活的重要性。传统的校园信息交流往往依赖微信群、QQ群或公告栏,信息杂乱且难以沉淀。去年帮学弟调试他的Spring Boot项目时,我们聊到了这个问题——为什么不能有一个专属学生的"校园版闲鱼+知乎+任务众包"平台呢?这正是"木成林"学生互助平台的设计初衷。
平台核心解决三个痛点:
- 资源错配:教材、数码产品等闲置物品在毕业季往往被当废品处理,而新生又需要高价购买
- 技能闲置:会摄影的同学接不到跟拍需求,想学PS的同学找不到靠谱指导
- 任务孤岛:代取快递、问卷填写等轻量级需求缺乏可靠发布渠道
技术选型上,我们放弃了传统的SSM框架组合,基于以下考量选择Spring Boot:
- 内嵌Tomcat简化部署,特别适合课程设计这类需要快速验证的场景
- 约定优于配置的特性,让团队能更专注业务逻辑而非XML配置
- 丰富的Starter依赖,轻松整合MySQL、Thymeleaf等常用组件
- 与IDEA开发工具深度适配,提供完善的代码提示和热部署支持
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术栈全景图
code复制前端层:Thymeleaf模板 + Bootstrap5 + jQuery
网关层:Spring MVC拦截器(权限控制)
业务层:Spring Boot 2.7 + Spring Security(认证)
数据层:MyBatis-Plus + MySQL 8.0 + Redis(缓存)
工具链:Lombok + Hutool + PageHelper(分页)
2.2 功能模块设计
系统采用经典的三层架构,但针对学生场景做了特殊优化:
2.2.1 用户服务
- 学生/发布人双角色设计(实际是同一张用户表的不同权限标识)
- 校区信息硬编码为枚举类,避免维护麻烦的校区表
java复制public enum Campus {
MAIN("主校区"),
SOUTH("南校区"),
NORTH("北校区");
//...
}
2.2.2 交易服务
- 借鉴闲鱼的发布流程,但增加了"教材/数码/日用"等校园特色分类
- 交易状态机设计:
