当前位置:实例文章 » HTML/CSS实例» [文章]SpringBoot+Vue的学生选课管理系统

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 List getStudents() {
 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 List getCourses() {
 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 List getStudents() {
 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 List getCourses() {
 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 List getStudents() {
 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 List getCourses() {
 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 List getStudents() {
 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 List getCourses() {
 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 {}

相关标签:spring管理系统vue
其他信息

其他资源

Top