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