引言随着互联网技术的不断发展,前后端分离的开发模式已成为主流。Vue.js作为前端框架,以其简洁的语法和高效的组件化开发,深受开发者喜爱。Spring Boot作为后端框架,以其快速开发、自动配置等特...
随着互联网技术的不断发展,前后端分离的开发模式已成为主流。Vue.js作为前端框架,以其简洁的语法和高效的组件化开发,深受开发者喜爱。Spring Boot作为后端框架,以其快速开发、自动配置等特性,简化了Java项目的开发流程。本文将详细介绍Vue.js与Spring Boot的完美融合,并提供一步到位的集成实战攻略。
Vue.js是一个渐进式JavaScript框架,用于构建用户界面和单页面应用(SPA)。它具有以下特点:
Spring Boot是一个基于Spring框架的快速开发平台,它简化了Java项目的配置和部署。Spring Boot具有以下特点:
使用Vue CLI创建Vue.js项目:
vue create vue-spring-boot-project使用Spring Initializr创建Spring Boot项目:
https://start.spring.io/选择Maven或Gradle作为构建工具,添加Web、Thymeleaf等依赖。
在Spring Boot项目中,添加CORS依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>
</dependency>在Spring Boot主类上添加@CrossOrigin注解:
@SpringBootApplication
@CrossOrigin
public class SpringBootVueApplication { public static void main(String[] args) { SpringApplication.run(SpringBootVueApplication.class, args); }
}在Spring Boot项目中创建API接口,供Vue.js调用:
@RestController
@RequestMapping("/api")
public class ApiController { @GetMapping("/data") public ResponseEntity<?> getData() { // 获取数据 List<Data> dataList = dataService.findAll(); return ResponseEntity.ok(dataList); }
}在Vue.js项目中,使用Axios调用API接口:
import axios from 'axios';
export default { methods: { fetchData() { axios.get('/api/data') .then(response => { this.dataList = response.data; }) .catch(error => { console.error(error); }); } }
}以下是一个简单的Vue.js与Spring Boot集成案例:
<!DOCTYPE html>
<html>
<head> <title>待办事项列表</title> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
</head>
<body> <div id="app"> <h1>待办事项列表</h1> <input v-model="newTodo" placeholder="添加待办事项"> <button @click="addTodo">添加</button> <ul> <li v-for="(todo, index) in todos" :key="index"> {{ todo }} <button @click="removeTodo(index)">删除</button> </li> </ul> </div> <script> new Vue({ el: '#app', data: { todos: [], newTodo: '' }, methods: { addTodo() { this.todos.push(this.newTodo); this.newTodo = ''; }, removeTodo(index) { this.todos.splice(index, 1); } } }); </script>
</body>
</html>@RestController
@RequestMapping("/api")
public class TodoController { @GetMapping("/todos") public ResponseEntity<?> getAllTodos() { List<Todo> todos = todoService.findAll(); return ResponseEntity.ok(todos); } @PostMapping("/todos") public ResponseEntity<?> addTodo(@RequestBody Todo todo) { todoService.save(todo); return ResponseEntity.ok(todo); } @DeleteMapping("/todos/{id}") public ResponseEntity<?> deleteTodo(@PathVariable Long id) { todoService.delete(id); return ResponseEntity.ok().build(); }
}本文详细介绍了Vue.js与Spring Boot的完美融合,并提供了集成实战攻略。通过本文的学习,您将能够快速搭建一个前后端分离的Web应用。在实际开发中,您可以根据项目需求进行扩展和优化。