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 的强大后端能力也将为前端提供稳定的数据支持。
热门推荐
个人简历中的履历怎么写
多西环素副作用
如何使用IPv6地址访问Web
历史上的玄武门之变,到底是怎么回事?
患有痛风怎么办
索尼HX7充电器是否兼容?使用时应注意什么?
华为手机维修时,如何对个人隐私进行保护
ESPN六人专家组澳网女单冠军预测出炉,女网F4遭遇天与地般对待
动物灭绝的严重后果(保护生物多样性的重要性及影响)
探索“ing”在英语中的多重用法及其丰富表达的魅力与技巧
企业清算实施方案:概念、制定要点及执行步骤详解
企业清算需要哪些财务资料和材料?
精益质量管理与传统质量管理有哪些不同?
注册广州公司如何办理?条件有什么?
揭秘消费者常见的欺诈手段
适度展示实力与智慧对避免小人欺负有何帮助?
如何分析贸易顺差与货币升值的关系?这种关系对经济有哪些影响?
【工程师必备】:电感计算技巧,提升日常工作效率的利器
揭秘 IEEE/ACM Trans/CCF/SCI,谁才是科研界的王者?
伊犁州生育新政落地!试管婴儿费用直降万元,职工医保报销高达80%
五行命格怎么解读的-命格五行属性表
2024年中国最发达的10座城市排名出炉:苏州超过深圳,鄂尔多斯居首
重庆9道经典江湖菜:麻辣鲜香开胃下饭,每一道都是当地人的最爱
投资小知识:信息差套利——如何在合法合规的框架下把握投资先机?
鸡胸肉的百变魔法,让健康美味不再单调!
如何通过一张图片判断摄影师的位置(图片经纬度转换)
抗通胀的方法和策略有哪些?这些方法和策略如何适应不同市场环境?
尘封四十载,辽美图书“最美西游”再度归来
侵占土地怎么处理?律师解析法律规范与追讨方法!
让数智技术为构建泛在可及的终身教育体系赋能