Spring和Vue分別是Java和JavaScript中最流行的Web開發(fā)框架。它們分別負(fù)責(zé)后端和前端的任務(wù),但是在現(xiàn)今發(fā)展中,更多的Web應(yīng)用程序中前端和后端的界限越來(lái)越模糊了。因此,將Spring和Vue整合在一起成為了必不可少的技術(shù)。
下面我們來(lái)學(xué)習(xí)如何在自己的Web應(yīng)用程序中使用Spring和Vue以及如何將它們整合。
集成Vue.js
在前端中,我們將使用Vue.js。為了集成Vue.js,我們首先要在pom.xml添加spring-boot-starter-web包。隨后,在src/main/resources/static中創(chuàng)建一個(gè)名為Vue的文件夾,用于放置所有的Vue組件。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
接著,我們需要在我們的項(xiàng)目接口中創(chuàng)建完整的RESTful API。例如:
@RestController public class UserController { private final UserRepository userRepository; public UserController(UserRepository userRepository) { this.userRepository = userRepository; } @GetMapping("/users") public List<User> getAllUsers() { return userRepository.findAll(); } }
在這段代碼中,我們只是在使用Spring Boot創(chuàng)建了一個(gè)RESTful API,以便在我們的Vue.js程序中調(diào)用并顯示數(shù)據(jù)。
集成Vue.js和axios
在Vue.js中使用axios,我們需要先在我們的src/main/resources/static/Vue目錄下創(chuàng)建vue.config.js。在此文件中,我們將添加我們的axios配置。請(qǐng)確保將process.env.API_BASE_PATH更改為在我們的Spring Boot中使用的實(shí)際基本URL。
module.exports = { devServer: { proxy: { '/api/**': { target: process.env.API_BASE_PATH, changeOrigin: true } } } }
在此之后,我們將在src/main/resources/static/Vue/main.js中添加Vue.js的具體代碼。在這里,我們將使用Vue.js來(lái)發(fā)送如下請(qǐng)求,以獲取并顯示數(shù)據(jù):
import axios from 'axios'; import Vue from 'vue'; import App from './App.vue'; axios.defaults.baseURL = window.location.origin + '/'; new Vue({ render: h =>h(App.create()), async created() { const users = await axios.get('/api/users'); console.log(users); } }).$mount('#app');
最后
Vue.js和Spring Boot是構(gòu)建復(fù)雜Web應(yīng)用的強(qiáng)大工具,將它們集成在一起可以讓我們更快上線并獲得更好的用戶體驗(yàn)。嘗試使用它們創(chuàng)造自己的Web應(yīng)用程序吧!