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项目,第一步

cmd 复制代码
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中

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

vue 复制代码
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

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

加入上面这几句话引入

测试:

vue 复制代码
<el-button type="danger">这是el</el-button>

2.4、官网扒取示例代码

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

Container 布局容器

home.vue

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-group title="分组2">
          <el-menu-item index="1-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="1-4">
          <template slot="title">选项4</template>
          <el-menu-item index="1-4-1">选项4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
      <el-submenu index="2">
        <template slot="title"><i class="el-icon-menu"></i>导航二</template>
        <el-menu-item-group>
          <template slot="title">分组一</template>
          <el-menu-item index="2-1">选项1</el-menu-item>
          <el-menu-item index="2-2">选项2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="分组2">
          <el-menu-item index="2-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="2-4">
          <template slot="title">选项4</template>
          <el-menu-item index="2-4-1">选项4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
      <el-submenu index="3">
        <template slot="title"><i class="el-icon-setting"></i>导航三</template>
        <el-menu-item-group>
          <template slot="title">分组一</template>
          <el-menu-item index="3-1">选项1</el-menu-item>
          <el-menu-item index="3-2">选项2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="分组2">
          <el-menu-item index="3-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="3-4">
          <template slot="title">选项4</template>
          <el-menu-item index="3-4-1">选项4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
    </el-menu>
  </el-aside>
  
  <el-container>
    <el-header style="text-align: right; font-size: 12px;border-bottom: 1px solid #ccc;line-height: 60px;">
      <el-dropdown>
        <i class="el-icon-setting" style="margin-right: 15px"></i>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item>查看</el-dropdown-item>
          <el-dropdown-item>新增</el-dropdown-item>
          <el-dropdown-item>删除</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
      <span>王小虎</span>
    </el-header>
    
    <el-main>
      <el-table :data="tableData">
        <el-table-column prop="date" label="日期" width="140">
        </el-table-column>
        <el-table-column prop="name" label="姓名" width="120">
        </el-table-column>
        <el-table-column prop="address" label="地址">
        </el-table-column>
      </el-table>
    </el-main>
  </el-container>
</el-container>



</div>

</template>

<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'

export default {
  name: 'HomeView',
  components: {
    HelloWorld
  },
  data() {
      const item = {
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      };
      return {
        tableData: Array(10).fill(item)
      }
    }
}
</script>

写一个全局css------gloable.css,放在assets目录下

css 复制代码
html,body,div{
    margin: 0;
    padding: 0;
}
html,body{
    height: 100%;
}

在main.js中引入

js 复制代码
import './assets/gloable.css'

app.vue

vue 复制代码
<template>
  <div id="app">
    <router-view/>
  </div>  
</template>

<style>
#app {
  height: 100%;
}

</style>

三、搭建SpringBoot框架

1、创建Springboot项目,勾选Lombok(简化java代码的插件)、web------Spring Web(相当于SpringMVC)、sql------MyBatis Framework+MySql Driver

版本不要选太高了

pom配置阿里云仓库

xml 复制代码
<repositories>
<repository>
<id>nexus-aliyun</id>
<name>nexus-a1 i yun</name>
<ur1>http ://maven . aliyun. com/nexus/content/ groups /pub1ic/</ur1>
<re1eases>
<enab1ed>true</enal1ed>
</releases>
<snapshots>
<enab1ed>false</enab1ed>
</snapshots>
</repository>
</repositories>
<p1uginRepositories>
<p1uginRepository>
<id>pub1ic</id>
<name>aliyun nexus</name>
<ur1>http: //maven . aliyun. com/nexus/content/ groups/pub1ic/</ur1>
<re1eases>
<enab1ed>true</enab1ed>
</releases>
<snapshots>
<enabled>false</enab1ed>
</snapshots>
</p1uginRepository>
</p1uginRepositories>

创建好项目后先启动,确认项目可以正常运行,再将vue整个拖入Springboot项目中

也可不拖入,访问时将地址写全

配置vue启动

再配置tomcat的地方点+,选择npm,下方选择vue的package.json,下方run的下一格写serve

四、接口整合

相关推荐
我是浮夸24 分钟前
MyBatisPlus——学习笔记
java·spring boot·mybatis
杨荧33 分钟前
【JAVA开源】基于Vue和SpringBoot的水果购物网站
java·开发语言·vue.js·spring boot·spring cloud·开源
cyz1410011 小时前
vue3+vite@4+ts+elementplus创建项目详解
开发语言·后端·rust
liuxin334455661 小时前
大学生就业招聘:Spring Boot系统的高效实现
spring boot·后端·mfc
杨哥带你写代码1 小时前
构建高效新闻推荐系统:Spring Boot的力量
服务器·spring boot·php
向上的车轮1 小时前
ASP.NET Zero 多租户介绍
后端·asp.net·saas·多租户
霸王蟹2 小时前
Vue3 项目中为啥不需要根标签了?
前端·javascript·vue.js·笔记·学习
yz_518 Nemo2 小时前
django的路由分发
后端·python·django
AIRust编程之星2 小时前
Rust中的远程过程调用实现与实践
后端
老章学编程i2 小时前
Vue工程化开发
开发语言·前端·javascript·vue.js·前端框架