基于 SpringBoot 的高校宿舍管理系统设计与开发
发布人:shili8
发布时间:2025-01-02 04:10
阅读次数:0
**高校宿舍管理系统设计与开发**
**概述**
本文将介绍如何使用Spring Boot设计和开发一个高校宿舍管理系统。该系统将提供学生、宿管员和管理员三个角色之间的交互功能,实现对宿舍信息、学生信息和宿管员信息的管理。
**系统需求分析**
1. **学生注册**:学生可以通过系统注册自己的账号和密码。
2. **宿舍申请**:学生可以在线申请入住宿舍,并填写相关信息,如姓名、学号等。
3. **宿管员审批**:宿管员可以在线审批学生的入住申请,同意或拒绝申请。
4. **宿舍管理**:宿管员可以在线管理宿舍的状态,如空闲、已占用等。
5. **学生信息管理**:管理员可以在线查看和修改学生的个人信息。
6. **宿管员信息管理**:管理员可以在线查看和修改宿管员的个人信息。
**系统设计**
###1. **数据库设计**
使用MySQL数据库,创建以下表:
| 表名 | 字段 |
| --- | --- |
| student | id、name、学号、密码、宿舍号 |
| dormitory | id、名称、状态(空闲或已占用) |
| staff | id、姓名、职位 |
###2. **Spring Boot配置**
在`application.properties`文件中配置数据库连接信息:
propertiesspring.datasource.url=jdbc:mysql://localhost:3306/hospitalspring.datasource.username=rootspring.datasource.password=123456
###3. **Controller层**
创建以下控制器类:
#### StudentController.java
java@RestController@RequestMapping("/student") public class StudentController { @Autowired private StudentService studentService; @PostMapping("/register") public Result register(@RequestBody Student student) { return studentService.register(student); } @GetMapping("/info/{id}") public Result getStudentInfo(@PathVariable Long id) { return studentService.getStudentInfo(id); } }
#### DormitoryController.java
java@RestController@RequestMapping("/dormitory") public class DormitoryController { @Autowired private DormitoryService dormitoryService; @PostMapping("/apply") public Result apply(@RequestBody DormitoryApply apply) { return dormitoryService.apply(apply); } @GetMapping("/info/{id}") public Result getDormitoryInfo(@PathVariable Long id) { return dormitoryService.getDormitoryInfo(id); } }
#### StaffController.java
java@RestController@RequestMapping("/staff") public class StaffController { @Autowired private StaffService staffService; @PostMapping("/register") public Result register(@RequestBody Staff staff) { return staffService.register(staff); } @GetMapping("/info/{id}") public Result getStaffInfo(@PathVariable Long id) { return staffService.getStaffInfo(id); } }
###4. **Service层**
创建以下服务类:
#### StudentService.java
java@Servicepublic class StudentService { @Autowired private StudentMapper studentMapper; public Result register(Student student) { // ... } public Result getStudentInfo(Long id) { // ... } }
#### DormitoryService.java
java@Servicepublic class DormitoryService { @Autowired private DormitoryMapper dormitoryMapper; public Result apply(DormitoryApply apply) { // ... } public Result getDormitoryInfo(Long id) { // ... } }
#### StaffService.java
java@Servicepublic class StaffService { @Autowired private StaffMapper staffMapper; public Result register(Staff staff) { // ... } public Result getStaffInfo(Long id) { // ... } }
###5. **Mapper层**
创建以下mapper类:
#### StudentMapper.java
java@Mapperpublic interface StudentMapper { // ... }
#### DormitoryMapper.java
java@Mapperpublic interface DormitoryMapper { // ... }
#### StaffMapper.java
java@Mapperpublic interface StaffMapper { // ... }
###6. **Repository层**
创建以下repository类:
#### StudentRepository.java
java@Repositorypublic class StudentRepository { @Autowired private StudentMapper studentMapper; public ListgetAllStudents() { return studentMapper.getAllStudents(); } }
#### DormitoryRepository.java
java@Repositorypublic class DormitoryRepository { @Autowired private DormitoryMapper dormitoryMapper; public ListgetAllDormitories() { return dormitoryMapper.getAllDormitories(); } }
#### StaffRepository.java
java@Repositorypublic class StaffRepository { @Autowired private StaffMapper staffMapper; public ListgetAllStaffs() { return staffMapper.getAllStaffs(); } }
###7. **Security配置**
在`application.properties`文件中配置安全相关信息:
propertiesspring.security.user.name=adminspring.security.user.password=123456
###8. **WebSecurityConfigurerAdapter**
创建以下配置类:
#### WebSecurityConfigurerAdapter.java
java@Configuration@EnableWebSecuritypublic class WebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity throws Exception { // ... } }
###9. **Filter**
创建以下过滤器类:
#### Filter.java
java@Componentpublic class Filter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // ... } }
###10. **启动Spring Boot应用**
在`application.properties`文件中配置端口号:
propertiesserver.port=8080
然后启动Spring Boot应用。
**注意**:以上代码仅供参考,具体实现可能需要根据实际需求进行调整。