从 0 开始实现一个 SpringBoot + Vue 项目

warning: 这篇文章距离上次修改已过237天,其中的内容可能已经有所变动。

实现一个 SpringBoot + Vue 项目需要以下步骤:

  1. 创建 Vue 前端项目:



# 安装 Vue CLI
npm install -g @vue/cli
 
# 创建新的 Vue 项目
vue create my-vue-app
  1. 创建 SpringBoot 后端项目:



# 使用 Spring Initializr 快速生成项目
https://start.spring.io/
 
# 将生成的项目导入到 IDE 中,比如 IntelliJ IDEA 或者 Eclipse
  1. 在 Vue 项目中集成并启动前端服务(开发模式):



cd my-vue-app
npm run serve
  1. 在 SpringBoot 项目中设置 CORS 跨域处理,并创建 API 接口:



// 在 SpringBoot 配置文件 application.properties 中添加 CORS 配置
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=128KB
spring.servlet.multipart.max-request-size=128KB
 
@Configuration
public class WebConfig implements WebMvcConfigurer {
 
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedOrigins("http://localhost:8080");
    }
}
 
@RestController
public class MyController {
 
    @GetMapping("/api/data")
    public ResponseEntity<String> getData() {
        return ResponseEntity.ok("Hello from SpringBoot");
    }
}
  1. 在 Vue 前端中发起 API 请求:



// 在 Vue 组件中
<template>
  <div>{{ message }}</div>
</template>
 
<script>
export default {
  data() {
    return {
      message: ''
    };
  },
  created() {
    this.fetchData();
  },
  methods: {
    async fetchData() {
      try {
        const response = await this.axios.get('http://localhost:8080/api/data');
        this.message = response.data;
      } catch (error) {
        console.error(error);
      }
    }
  }
};
</script>
  1. 配置 SpringBoot 项目使其与前端运行在同一主机和端口上,或者通过代理配置让 Vue 前端请求被代理到 SpringBoot 后端服务:



// 在 Vue 项目中 vue.config.js 文件
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:8080',
        changeOrigin: true
      }
    }
  }
};
  1. 构建并部署前后端应用:



# 构建 Vue 前端项目
cd my-vue-app
npm run build
 
# 构建 SpringBoot 后端项目
# 使用 Maven 或 Gradle 构建 JAR 或 WAR 包
# 部署到服务器,例如使用 Spring Boot Maven Plugin 或者 jar 命令

以上步骤提供了一个简化的流程,实际项目中还需要考虑更多细节,如数据库连接、认证和授权、日志记录、单元测试、持续集成等。

最后修改于:2024年08月16日 08:19

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日