手把手带你快速搭建一个SpringBoot+Vue前后端分离项目

开发环境

IDEA,MySQL,Navicat

1.创建数据库并添加一些数据

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第1张图片

2.创建前端项目

1.cmd 创建项目,注意这里需要Vue3或者以上,不是的同学可以用其它方式创建前端项目,或者更新到Vue3以上也行。
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第2张图片

进入到如下页面:
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第3张图片
我先运行了一下之前的例子确保环境没问题,
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第4张图片
2.点击项目管理进入创建页面
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第5张图片
3.选择文件夹创建该项目,选择好了点击创建
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第6张图片

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第7张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第8张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第9张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第10张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第11张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第12张图片
3.出现这里只需要等它创建就好了(可能需要等30秒左右)
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第13张图片
4.可以看到已经创建好了
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第14张图片
4.点击“任务”–“serve”–“运行”(这里也要等一小会儿)
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第15张图片
5.点击输出就可以看到地址
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第16张图片
6.点击地址进去
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第17张图片
进到这个页面恭喜你已经成功将前端项目创建好了。
现在把前端项目在IDEA中打开(直接把这个文件夹拖进IDEA就可以)

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第18张图片
7.现在我们创建一个Person.vue
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第19张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第20张图片

  <div>
    <h1>这是Personh1>
  div>

8.进入App.vue添加如下代码

      <router-link to="/person">Person</router-link>

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第21张图片
9.进入router -> index.js中添加以下代码:(注意有个逗号)

,
  {
    path:'/person',
    name:'About',
    component: () => import('../views/Person')
  }

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第22张图片
再进入App.vue添加一个竖线(刚刚忘了)
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第23张图片

10.运行程序(需要有npm),终端输入如下代码:

npm run serve

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第24张图片
11.运行结果:
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第25张图片
完美!!!
前端就准备好了,现在我们去创建Spring Boot项目

3.创建SpringBoot项目

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第26张图片

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第27张图片
点击next
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第28张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第29张图片
点击finsh完成创建

2.创建实体
代码如下:

package com.sadhu.entity;


import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Id;

/**
 * @author wang
 */

//与数据库表绑定
@Entity
//自动生成setter 和getter
@Data
public class Person {
    @Id
    private Long id;
    private String name;
    private String sex;
    private int age;
}

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第30张图片
这里需要测试一下,先直接跳过直接创建controller

3.创建repository
文件结构:
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第31张图片
代码:

public interface PersonRepositroy extends JpaRepository {
}

4.创建controller
文件结构:
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第32张图片
代码:

@RestController
@RequestMapping("/person")
public class PersonController {
    private PersonRepositroy personRepositroy;
    @GetMapping("/findAll")
    public List<Person> findAll(){
        return personRepositroy.findAll();
    }
}

5.创建yml文件
先删掉Application.properties
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第33张图片
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第34张图片
在这里插入图片描述
添加如下代码:(数据库账号密码记得改)

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 123456

    jpa:
      show-sql: true
      properties:
        hibernate:
          format_sql: true

server:
  port: 8182

需要再pom.xml中添加依赖

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第35张图片

运行一下:
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第36张图片

现在后端的也写好了

4.前后端连再一起

1.先在前端中添加如下代码
代码:

<template>
  <div>
    <h1>这是Person</h1>

    <tr>
      <td>{{persons[0].id}}</td>
      <td>{{persons[0].name}}</td>
      <td>{{persons[0].sex}}</td>
      <td>{{persons[0].age}}</td>

    </tr>

    <tr v-for="item in persons">
      <td>{{item.id}}</td>
      <td>{{item.name}}</td>
      <td>{{item.sex}}</td>
      <td>{{item.age}}</td>
    </tr>
  </div>
</template>

<script>
export default {
  name: "Person",
  data() {
    return {
      persons: [
        {
          id: 1,
          name: 'wang',
          sex: '男',
          age: 18
        }
      ]
    }
  },
  created() {
    const _this = this;
    axios.get('http://localhost:8182/person/findAll').then(function (resp){
      _this.persons=resp.data;
      console.log(resp.data)
    })
  }
}
</script>

<style scoped>

</style>

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第37张图片
注意:开发环境中应该有axios 如果没有请在终端输入

vue add axios

他会自动安装
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第38张图片
这这个情况就是没有管理员权限,把IDEA以管理员身份运行就可以,如下图
手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第39张图片

2.然后去配置后端
新建如下文件并添加代码:
代码如下:

package com.sadhu.config;

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 CrosConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry){
        WebMvcConfigurer.super.addCorsMappings(registry);
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("GET", "HEAD" ,"POST","PUT" , "DELETE")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }

}

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第40张图片

5.最后把前后端都启动起来看看

手把手带你快速搭建一个SpringBoot+Vue前后端分离项目_第41张图片
OK 和完美

6.总结,有问题可以评论或者私信

这是我学习是做的笔记,按照步骤来能跑通,中途会遇到一些问题,通常百度就能解决。冲冲冲!!!

你可能感兴趣的:(mysql,spring,boot,vue.js)