用springboot写一个学生管理系统,需要有登录界面,管理员,学生两种权限
时间: 2023-12-03 16:04:17 浏览: 43
好的,下面是使用 Spring Boot 编写的简单学生管理系统示例。该系统包含以下功能:
- 登录页面,管理员和学生可以登录,管理员可以管理学生信息,学生只能查看自己的信息。
- 学生信息管理页面,管理员可以添加、修改、删除学生信息,学生只能查看自己的信息。
注意:该示例仅供参考,实际项目中还需要考虑更多的功能和安全性问题。
1. 创建 Spring Boot 项目
使用 Spring Initializr 创建一个新的 Spring Boot 项目,添加以下依赖:
- Spring Web:用于创建 Web 应用程序。
- Spring Data JPA:用于访问数据库。
- Thymeleaf:用于在 HTML 页面中使用 Thymeleaf 模板引擎。
- Spring Security:用于实现用户认证和授权功能。
2. 创建实体类和存储库
创建一个名为 `User` 的实体类,表示用户信息。该实体类包含了用户名、密码、角色等信息。
```java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String username;
private String password;
private String role;
// 省略构造方法、Getter 和 Setter 方法
}
```
创建一个名为 `Student` 的实体类,表示学生信息。该实体类包含了姓名、性别、出生日期、班级等信息。
```java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
private String gender;
private Date birthDate;
private String clazz;
// 省略构造方法、Getter 和 Setter 方法
}
```
创建一个名为 `UserRepository` 的存储库,用于操作用户信息的增删改查。
```java
import org.springframework.data.repository.CrudRepository;
public interface UserRepository extends CrudRepository<User, Long> {
User findByUsername(String username);
}
```
创建一个名为 `StudentRepository` 的存储库,用于操作学生信息的增删改查。
```java
import org.springframework.data.repository.CrudRepository;
public interface StudentRepository extends CrudRepository<Student, Long> {
}
```
3. 创建控制器
创建一个名为 `UserController` 的控制器,用于处理用户登录和注销。
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype