Spring Boot 整合 Vue.js 完全指南
创作时间:
作者:
@小白创作中心
Spring Boot 整合 Vue.js 完全指南
引用
1
来源
1.
https://worktile.com/kb/p/3605737
Spring Boot 和 Vue.js 是两种常用的技术栈,分别用于后端和前端开发。整合 Spring Boot 和 Vue.js 需要经过以下几个步骤:1、创建 Spring Boot 项目;2、创建 Vue.js 项目;3、配置 Spring Boot 以支持静态资源;4、在 Spring Boot 中集成 Vue.js 的构建输出;5、配置跨域支持;6、进行前后端联调测试。下面详细介绍这些步骤:
一、创建 Spring Boot 项目
- 使用 Spring Initializr 创建一个新的 Spring Boot 项目,选择所需的依赖(如 Spring Web, Spring Data JPA 等)。
- 下载并解压生成的项目文件。
- 导入项目到你的 IDE 中(如 IntelliJ IDEA 或 Eclipse)。
- 确保你的 Spring Boot 项目可以成功运行,测试端点可以通过
@RestController和@GetMapping注解来实现。
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}
二、创建 Vue.js 项目
- 确保已经安装 Node.js 和 npm。
- 使用 Vue CLI 创建一个新的 Vue 项目:
npm install -g @vue/cli
vue create my-vue-app
- 选择默认的配置或根据需要定制配置。
- 进入项目目录并启动开发服务器:
cd my-vue-app
npm run serve
- 确保 Vue 项目能够在浏览器中正常运行。
三、配置 Spring Boot 以支持静态资源
- 在 Spring Boot 项目的
src/main/resources目录下创建一个static文件夹。 - 将 Vue 项目构建后的静态文件(通常在
dist目录中)复制到static文件夹中。 - 修改 Spring Boot 的配置文件
application.properties或application.yml,添加以下配置:
spring.mvc.static-path-pattern=/static/
四、在 Spring Boot 中集成 Vue.js 的构建输出
- 在 Vue 项目中,运行构建命令生成静态文件:
npm run build
- 将生成的
dist目录内容复制到 Spring Boot 项目的src/main/resources/static目录中。 - 修改 Spring Boot 的主类,设置默认的欢迎页:
@Controller
public class HomeController {
@RequestMapping("/")
public String index() {
return "index.html";
}
}
五、配置跨域支持
- 在 Spring Boot 项目中,创建一个配置类来允许跨域请求:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/").allowedOrigins("http://localhost:8080");
}
};
}
}
- 确保配置中的
allowedOrigins与 Vue 开发服务器的地址一致。
六、进行前后端联调测试
- 启动 Spring Boot 项目,确保后端服务在运行。
- 在 Vue 项目中通过 axios 或 fetch 发起请求,测试前后端的联通性:
axios.get('/api/hello')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- 确保前端能够正确接收到后端的响应。
总结
通过以上步骤,成功地整合了 Spring Boot 和 Vue.js,使其共同构建一个完整的全栈应用。在实际项目中,可以根据需求进一步优化和扩展。建议在开发过程中,保持前后端项目的独立性,便于维护和升级。此外,使用 Vue.js 的热更新功能可以大幅提升开发效率,Spring Boot 的强大后端能力也将为前端提供稳定的数据支持。
热门推荐
链式代理到底是什么?带你了解链式代理的原理机制
2025 年,非常值得做的六大外贸蓝海市场分析
详解密宗胎藏界与金刚界
音乐有三六九等吗?什么才算是“好歌”?
黄痰轻、白痰重、吐了黑痰要谨慎,3种痰各说明什么?
什么是法无定法?
国家公务员好找工作吗?知乎讨论揭秘
操作系统实验:网络通信协议栈的构建与测试秘籍
银行自助设备维护外包服务:质量控制与成本管理的关键考量
朝鲜战争,美军战败的原因之一,在于其军事思想和理论落后于中国
电脑怎么设置锁屏密码?这3个方法你知道吗
孩子缺爱成长中的心理影响与应对策略
ISFJ人格类型:忠诚、细心与责任感的完美结合
立春绘“春牛”
软件开发领域如何获取最新消息
主板、创业板、科创板,股市里的“三兄弟”,你了解多少?
《红楼梦》才是你的"人间修炼指南"
科学家通过嫦娥五号月壤研究提出大量生产水的方法
填补月背研究历史空白!嫦娥六号挖回的月背土壤成分揭秘
晨型瑜伽人的生物钟改造计划:从熬夜到5点自然醒
世界十大酿酒葡萄品种概览
哪个好:财务部定量考核还是定性考核?
了解新加坡的生活成本:旅行者和外籍人士必备小贴士
新加坡各类移民的特殊要求有哪些
笔记本电脑触控板失灵怎么办?多种实用解决方案帮你轻松应对
紧凑型聚变反应堆电子温度破纪录,远超1000万摄氏度
梅毒传播哥伦布“功不可没”
辐射4星核选择大揭秘:你的决策将如何改变游戏命运?
我国承建老挝水电站,耗资54亿元,3台机组1年发电8.8亿千瓦时
Excel表格中查找产品型号的四种方法