Spring Boot+Vue项目从零入手

Spring Boot+Vue项目从零入手

一、前期准备

在搭建spring boot+vue项目前,我们首先要准备好开发环境,所需相关环境和软件如下:

1、node.js

检测安装成功的方法:node -v

2、vue

检测安装成功的方法:vue -V

3、Visual Studio Code

这个软件是编写vue代码的工具,也可以使用idea,这个视情况而定。

4、jdk

检测安装成功的方法:java -version和javac -version

5、mysql

6、idea

7、navicat

二、搭建vue页面

2.1、创建vue项目

1.打开cmd窗口,进入准备建立vue项目的文件夹,通过vue create XXX建立一个vue项目,第一步

Vue CLI v5.0.8
P1ease pick a preset:
Default ([Vue 3] babe1,eslint)
Default ( [Vue2]babel,eslint)
Manually select features

选择Manually select features回车

然后选择Babel和Router

选择2.X

输入y

选择In package.json

输入n

等待项目创建。

扩展

npm加速:

npm config set registry https://registry.npm.taobao.org

2.2、运行

cd XXX

npm run serve

测试项目是否能正常运行,可适当建立参数测试回显功能

vue项目可选择使用idea或者VSC打开,其中vsc调出终端快捷键ctrl+shift+Y

测试代码:在app.vue中

<h1>{
  
  {name}}</h1>
data(){
    return{
      name:"凡大帅哥!"
    }
     
  }

2.3、引入Element UI组件

npm i element-ui -S

element UI有文档,地址:element.eleme.io/#/zh-CN/component/container

首先使用命令安装组件,然后打开main.js

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI,{size:"small"});

加入上面这几句话引入

测试:

<el-button type="danger">这是el</el-button>

2.4、官网扒取示例代码

去官网扒取示例代码,调整为自己需要的网页效果

Container 布局容器

home.vue

<template>
  <div style="height:100%">
 <el-container style="height: 100%">
  <el-aside width="200px" style="background-color: rgb(238, 241, 246);height: 100%;overflow: hidden;">
    <el-menu :default-openeds="['1', '3']">
      <el-submenu index="1">
        <template slot="title"><i class="el-icon-message"></i>导航一</template>
        <el-menu-item-group>
          <template slot="title">分组一</template>
          <el-menu-item index="1-1">选项1</el-menu-item>
          <el-menu-item index="1-2">选项2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-
### Spring BootVue组合开发中的常见问题及解决方案 #### 1. 跨域请求问题 在前后端分离的架构下,浏览器的安全策略会阻止来自不同源的HTTP请求。这通常表现为跨域资源共享(CORS)错误。 为了应对这一问题,可以在Spring Boot后端启用CORS支持。具体实现方式如下: ```java 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("*") // 允许所有的域名访问[^4] .allowedMethods("GET", "POST", "PUT", "DELETE"); // 允许的方法类型 } }; } } ``` 这种配置允许前端从任意域名发起请求,并支持多种HTTP方法。 --- #### 2. 数据传输格式不一致 前后端之间的数据交换通常采用JSON格式。如果双方的数据结构定义不匹配,则可能导致解析失败或数据丢失。 解决此问题的关键在于统一接口设计标准。例如,在Spring Boot中可以使用`@RestController`注解返回JSON响应,而在Vue.js中可以通过Axios库发送和接收JSON数据。 示例代码: ```javascript // Vue.js 中使用 Axios 发送 POST 请求 axios.post('/api/user', { name: 'John Doe' }) .then(response => console.log(response.data)) .catch(error => console.error('Error:', error)); ``` 在Spring Boot中处理该请求时,需确保实体类字段名与前端传递参数保持一致[^2]。 --- #### 3.后端联调困难 由于前后端团队可能独立工作,因此在联合调试阶段容易出现问题。比如API文档更新滞后、接口未按约定实现等情况都会影响进度。 为此建议引入Swagger工具自动生成RESTful API文档,方便开发者实时查看最新接口说明。此外还可以借助Mock服务模拟后端行为以便于前端先行开发[^1]。 安装依赖并启动Swagger UI: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </version> </dependency> ``` 访问地址:http://localhost:8080/swagger-ui/index.html#/ --- #### 4. 性能优化不足 随着项目规模扩大,可能会面临页面加载缓慢或者服务器压力增大的情况。对此可以从以下几个方面入手改善性能表现: - **压缩静态资源文件**:利用Webpack插件对CSS/JS等进行打包压缩。 - **开启缓存机制**:对于频繁读取却很少变动的内容设置Http Header头控制客户端缓存时间。 - **分页查询数据库记录**:避免一次性取出大量数据造成内存溢出风险[^3]。 --- #### 5. 安全隐患防范 网络安全始终是不可忽视的话题之一。针对SQL注入攻击、XSS脚本漏洞等问题采取预防措施尤为重要。 推荐做法包括但不限于以下几点: - 使用ORM框架代替原始JDBC语句执行操作; - 对用户输入内容严格校验过滤非法字符; - 配置HTTPS协议加密通信链路保护敏感信息安全传输; ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜甜圈的小饼干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值