当前位置:实例文章 » JAVA Web实例» [文章]基于 SpringBoot 的高校宿舍管理系统设计与开发

基于 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 List getAllStudents() {
 return studentMapper.getAllStudents();
 }
}


#### DormitoryRepository.java
java@Repositorypublic class DormitoryRepository {
 @Autowired private DormitoryMapper dormitoryMapper;

 public List getAllDormitories() {
 return dormitoryMapper.getAllDormitories();
 }
}


#### StaffRepository.java
java@Repositorypublic class StaffRepository {
 @Autowired private StaffMapper staffMapper;

 public List getAllStaffs() {
 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应用。

**注意**:以上代码仅供参考,具体实现可能需要根据实际需求进行调整。

其他信息

其他资源

Top