# 怎么用SpringBoot+Vue實現的前后端分離圖書管理系統
## 一、技術選型與架構設計
采用前后端分離架構:
- **后端**:SpringBoot 2.7 + MyBatis-Plus + MySQL
- **前端**:Vue 3 + Element Plus + Axios
- **通信**:RESTful API + JWT認證
## 二、后端實現關鍵步驟
### 1. 項目初始化
```bash
spring init --dependencies=web,mybatis,mysql,lombok book-system
@Entity
public class Book {
@Id
@GeneratedValue
private Long id;
private String title;
private String author;
private String isbn;
// getters/setters...
}
@RestController
@RequestMapping("/api/books")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping
public List<Book> list() {
return bookService.list();
}
}
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:8080");
}
}
npm init vue@latest
cd book-frontend
npm install element-plus axios
<template>
<el-table :data="books">
<el-table-column prop="title" label="書名" />
<el-table-column prop="author" label="作者" />
</el-table>
</template>
<script setup>
import { ref, onMounted } from 'vue'
import axios from 'axios'
const books = ref([])
onMounted(async () => {
const res = await axios.get('http://localhost:8080/api/books')
books.value = res.data
})
</script>
mvn clean package
npm run build
location /api {
proxy_pass http://localhost:8080;
}
提示:開發時可使用Vue CLI的proxy配置解決跨域問題,生產環境建議啟用HTTPS并嚴格配置CORS規則。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。