SpringBoot+Vue的学生选课管理系统
发布人:shili8
发布时间:2025-01-11 18:30
阅读次数:0
**学生选课管理系统**
本系统基于Spring Boot和Vue开发,实现了学生选课、课程管理等功能。
### 系统结构* **前端**:使用Vue.js构建的Web应用程序。
* **后端**:使用Spring Boot构建的RESTful API服务器。
### 前端代码示例(Vue)
#### main.js
javascriptimport Vue from 'vue' import App from './App.vue' Vue.config.productionTip = falsenew Vue({ render: h => h(App), }).$mount('#app')
#### App.vue
html<template> <div id="app"> <h1>学生选课管理系统</h1> <button @click="toStudentList">学生列表</button> <button @click="toCourseList">课程列表</button> </div> </template> <script> export default { methods: { toStudentList() { this.$router.push({ name: 'student-list' }) }, toCourseList() { this.$router.push({ name: 'course-list' }) } } } </script>
#### StudentList.vue
html<template> <div id="student-list"> <h1>学生列表</h1> <table> <tr v-for="(student, index) in students" :key="index"> <td>{{ student.name }}</td> <td>{{ student.id }}</td> <td><button @click="toStudentDetail(student)">查看详情</button></td> </tr> </table> </div> </template> <script> export default { data() { return { students: [ { name: '张三', id:1 }, { name: '李四', id:2 } ] } }, methods: { toStudentDetail(student) { this.$router.push({ name: 'student-detail', params: { student } }) } } } </script>
### 后端代码示例(Spring Boot)
#### Student.java
java@Entitypublic class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // getter和setter方法}
#### Course.java
java@Entitypublic class Course { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // getter和setter方法}
#### StudentController.java
java@RestController@RequestMapping("/api/students") public class StudentController { @Autowired private StudentService studentService; @GetMapping public ListgetStudents() { return studentService.getStudents(); } @GetMapping("/{id}") public Student getStudent(@PathVariable Long id) { return studentService.getStudent(id); } }
#### CourseController.java
java@RestController@RequestMapping("/api/courses") public class CourseController { @Autowired private CourseService courseService; @GetMapping public ListgetCourses() { return courseService.getCourses(); } @GetMapping("/{id}") public Course getCourse(@PathVariable Long id) { return courseService.getCourse(id); } }
#### StudentService.java
java@Servicepublic class StudentService { @Autowired private StudentRepository studentRepository; public ListgetStudents() { return studentRepository.findAll(); } public Student getStudent(Long id) { return studentRepository.findById(id).orElse(null); } }
#### CourseService.java
java@Servicepublic class CourseService { @Autowired private CourseRepository courseRepository; public ListgetCourses() { return courseRepository.findAll(); } public Course getCourse(Long id) { return courseRepository.findById(id).orElse(null); } }
#### StudentRepository.java
javapublic interface StudentRepository extends JpaRepository{}
#### CourseRepository.java
javapublic interface CourseRepository extends JpaRepository{}
### 部分注释* **StudentController.java**
java// @RestController表示这是一个RESTful API控制器@RestController@RequestMapping("/api/students") public class StudentController { // @Autowired表示这个类需要被Spring Boot自动装配 @Autowired private StudentService studentService; // @GetMapping表示这个方法对应GET请求 @GetMapping public ListgetStudents() { return studentService.getStudents(); } // @GetMapping("/{id}")表示这个方法对应GET请求,且需要一个{id}参数 @GetMapping("/{id}") public Student getStudent(@PathVariable Long id) { return studentService.getStudent(id); } }
* **CourseController.java**
java// @RestController表示这是一个RESTful API控制器@RestController@RequestMapping("/api/courses") public class CourseController { // @Autowired表示这个类需要被Spring Boot自动装配 @Autowired private CourseService courseService; // @GetMapping表示这个方法对应GET请求 @GetMapping public ListgetCourses() { return courseService.getCourses(); } // @GetMapping("/{id}")表示这个方法对应GET请求,且需要一个{id}参数 @GetMapping("/{id}") public Course getCourse(@PathVariable Long id) { return courseService.getCourse(id); } }
* **StudentService.java**
java// @Service表示这是一个Spring Boot服务类@Servicepublic class StudentService { // @Autowired表示这个类需要被Spring Boot自动装配 @Autowired private StudentRepository studentRepository; // @GetMapping表示这个方法对应GET请求 public ListgetStudents() { return studentRepository.findAll(); } // @GetMapping("/{id}")表示这个方法对应GET请求,且需要一个{id}参数 public Student getStudent(Long id) { return studentRepository.findById(id).orElse(null); } }
* **CourseService.java**
java// @Service表示这是一个Spring Boot服务类@Servicepublic class CourseService { // @Autowired表示这个类需要被Spring Boot自动装配 @Autowired private CourseRepository courseRepository; // @GetMapping表示这个方法对应GET请求 public ListgetCourses() { return courseRepository.findAll(); } // @GetMapping("/{id}")表示这个方法对应GET请求,且需要一个{id}参数 public Course getCourse(Long id) { return courseRepository.findById(id).orElse(null); } }
* **StudentRepository.java**
java// @Repository表示这是一个Spring Boot数据访问类public interface StudentRepository extends JpaRepository{}
* **CourseRepository.java**
java// @Repository表示这是一个Spring Boot数据访问类public interface CourseRepository extends JpaRepository{}