基于SpringBoot2+vue2的学生宿舍信息的系统
1. 资源
2. 项目简介
学生宿舍信息系统旨在为高校宿舍管理提供一套线上解决方案,涵盖了宿舍信息管理、学生信息管理、宿舍分配、在线报修、卫生检查、缴费管理、桶装水预订、失物招领与公告发布等多个核心功能模块。
系统支持四种角色:管理员、学生、维修人员和商家,不同角色拥有不同的操作权限。例如,学生可以在线报修、申请假期留宿、预订桶装水;维修人员可以处理并跟进报修单;商家可以发布和管理桶装水商品;管理员则负责所有基础数据的配置与后台维护。
3. 技术栈
后端技术:
- 核心框架: Spring Boot 2.2.2.RELEASE
- 持久层框架: MyBatis-Plus 2.3
- 数据库: MySQL 5.7.32 (驱动:
mysql-connector-java) - 权限控制: Apache Shiro 1.3.2
- 工具库: Hutool、FastJSON、Apache Commons Lang3
- 额外集成: 百度AI SDK (可用于人脸识别)、百度地图API
前端技术:
- 管理后台:
- 框架: Vue.js
- UI库: Element UI
- 工具: ECharts, vue-json-excel, print-js
- 用户前台:
- 框架: Layui
- 库: jQuery, Swiper, Vue.js (辅助)
- 管理后台:
开发与部署:
- 开发工具: 无特定约束,支持常规IDE。
- 服务器: 内嵌Tomcat (端口: 8080)
- 运行环境: JDK 1.8
4. 详细介绍
系统架构为典型的前后端分离模式。后端通过Spring Boot提供RESTful API,使用MyBatis-Plus简化数据访问,Shiro框架进行身份认证与权限控制。前端分为面向管理员的Vue.js单页应用和面向普通用户的Layui多页面应用。
系统主要功能模块如下:
基础信息管理:
- 班级管理: 维护学校的班级信息。
- 宿舍信息管理: 维护宿舍楼、宿舍号、宿舍类型、可住人数等基础信息。
- 学生管理: 维护学生的学号、姓名、班级、联系方式、宿舍号等信息,并提供关联操作(如为该学生进行卫生检查登记、缴费登记)。
宿舍核心业务:
- 宿舍安排: 管理员可以将学生分配到具体的宿舍。
- 报修管理: 学生可以提交报修申请(包括设备、类型、图片、内容等),维修人员可以查看并处理报修,更新维修进度。管理员可进行审核和分配。
- 卫生检查: 管理人员可以记录宿舍的卫生检查结果,包括是否整洁、是否违规、卫生评分及检查结果。
- 假期留宿: 学生可以在假期前提交留宿申请,管理员负责审核。
- 文明宿舍评比: 根据卫生检查结果,系统可进行文明宿舍的评比与公示。
- 缴费信息管理: 管理员可以发布水费、电费等缴费信息,学生端可查看并模拟支付。
拓展服务:
- 桶装水模块: 商家可以入驻并发布桶装水商品。学生可以浏览、预订桶装水,并填写送货地址。商家可处理订单。
- 失物招领模块: 学生可以发布失物信息和招领信息。其他用户可以查看和评论。系统支持按物品类别进行筛选。
系统管理:
- 用户管理: 管理员可以管理系统用户。
- 宿舍公告管理: 管理员可以发布宿舍相关的最新公告。
- 轮播图管理: 管理员可以配置前台首页的轮播图。
5. 部分代码
5.1 后端配置文件 (application.yml)
# Tomcat
server:
tomcat:
uri-encoding: UTF-8
port: 8080
servlet:
context-path: /springboot68ozj
spring:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/springboot68ozj?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
username: root
password: 123456
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
# mybatis-plus配置...
5.2 后端实体类示例 (JiaofeixinxiEntity.java)
此代码片段展示了“缴费信息”表对应的实体类结构。
package com.entity;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@TableName("jiaofeixinxi")
public class JiaofeixinxiEntity<T> implements Serializable {
@TableId
private Long id;
private String xuehao;
private String xueshengxingming;
private String banji;
private String sushehao;
private String jiaofeimingcheng;
private String jiaofeileixing;
private Integer jiaofeijine;
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
@DateTimeFormat
private Date dengjiriqi;
private String ispay;
// ... getters and setters ...
}
5.3 前端路由配置 (router-static.js)
此代码片段展示了Vue后台管理系统的路由定义,其中包含了“桶装水”、“失物信息”等模块的路由。
import Tongzhuangshui from '@/views/modules/tongzhuangshui/list'
import Shiwuxinxi from '@/views/modules/shiwuxinxi/list'
// ... 其他模块导入
const routes = [{
path: '/index',
name: '首页',
component: Index,
children: [
// ... 其他路由
{
path: '/tongzhuangshui',
name: '桶装水',
component: Tongzhuangshui
},
{
path: '/shiwuxinxi',
name: '失物信息',
component: Shiwuxinxi
},
// ... 其他路由
]
},
// ... 其他路由配置
]
6. 部分截图


















































7. 项目总结
学生宿舍信息的系统是一个功能完备、业务逻辑清晰的校园宿舍管理系统。系统采用了当前主流的Spring Boot + MyBatis-Plus + Vue.js技术栈进行开发,技术选型成熟,结构清晰。
从代码层面看,项目包含了完整的后台管理界面和用户前台,并针对不同用户角色(学生、维修人员、商家、管理员)设计了差异化的功能菜单和操作权限,设计思路符合实际应用场景。
学生宿舍信息的系统涉及了宿舍管理中的多项典型业务,如:宿舍分配、在线报修、卫生检查、费用缴纳、桶装水线上预订、失物招领等,覆盖了宿舍管理的绝大部分需求。综合来看,该项目是一个优秀的实践项目,对于学习Web开发、了解业务系统构建流程都具有很好的参考价值。
- 本文标签: Java Spring Boot 毕业设计
- 本文链接: https://blog.xiaobias.com/article/55
- 版权声明: 本文由十五喵原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
