SpringBoot-Vue 前后端分离开发首秀

SpringBoot+Vue前后端分离项目的搭建及简单开发(这次保证看明白~) 文章目录 概述 一、搭建SpringBoot后端 1.sql脚本 2.新建SpringBoot项目 3.MP代码生成 4.编写Controller 二、搭建Vue前端 1.IDEA安装Vue.js插件 2.IDEA启动Vue项目 3.编写Vue代码 4.接收后端数据 三、Element UI使用 1.简单的数据展示 2.Element-ui更多… 参看:https://www.bilibili.com/video/BV137411B7vB 概述 vue+springboot+ 阅读详情
小Hub领读:

很简单的springboot-Vue入门示例,后面会逐渐增加难度,从简单到复杂!


作者:Joker

原文地址 https://juejin.im/post/5ccda966e51d456e51614b4b

需求:读取数据库的数据展现到前端页面 技术栈:后端有主要有 SpringBoot,lombok,SpringData JPA,Swagger, 跨域,前端有 Vue 和 axios 不了解这些技术的可以去入门一下 lombok 入门 swagger 入门 SpringData JPA 入门 配置:mysql 8.0.11,IntelliJ IDEA 2017.1.2,HBuilderX 1.9.3

首先创建一个 Spring Boot 项目,目录结构如下:

在 pom.xml 中加入如下依赖
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.11</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <version>2.1.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.7.0</version>
    </dependency>
</dependencies>
application.properties 配置
#端口
server.port=8888
#连接数据库的配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.password=Panbing936@
spring.datasource.username=root
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
#SpringData JPA的配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
实体类 User.java
@Entity
@Data
public class User{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    @Column(length = 55)
    private String name;
    private String avatarURL;
}
接口 UserMapper.java 继承 JpaRepository
public interface UserMapper extends JpaRepository<User,Integer> {
}
Controller.java
@RestController
@RequestMapping(value = "/api",produces = APPLICATION_JSON_VALUE)
@Api(description = "用户管理")
public class UserController {
    @Autowired
    private UserMapper userMapper;
    @ApiOperation(value = "用户列表",notes = "查寻所有已注册过的用户信息")
    @RequestMapping(value = "getAll",method = RequestMethod.GET)
    public List<User> getAll()
    {
        return userMapper.findAll();
    }
}
SwaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("cn.niit.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2实现前后端分离开发")
                .description("此项目只是练习如何实现前后端分离开发的小Demo")
                .termsOfServiceUrl("https://www.jianshu.com/u/2f60beddf923")
                .contact("WEN")
                .version("1.0")
                .build();
    }
}
WebConfig.java 是实现跨域的配置,务必记得
@Configuration
class WebMvcConfigurer extends WebMvcConfigurerAdapter {
    //跨域配置
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            //重写父类提供的跨域请求处理的接口
            public void addCorsMappings(CorsRegistry registry) {
                //添加映射路径
                registry.addMapping("/**")
                        //放行哪些原始域
                        .allowedOrigins("*")
                        //是否发送Cookie信息
                        .allowCredentials(true)
                        //放行哪些原始域(请求方式)
                        .allowedMethods("GET", "POST", "PUT", "DELETE")
                        //放行哪些原始域(头部信息)
                        .allowedHeaders("*")
                        //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
                        .exposedHeaders("Header1", "Header2");
            }
        };
    }
}

点击 localhost:8888/swagger-ui.html 查看生成的接口文档,测试一下

返回数据没有问题,接着可以根据文档开发前端代码了

用 HBuilderX 新建一个 test.html 页面,具体代码如下

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Vue.js-访问API接口数据-蓝墨云班课练习</title>
        <meta >
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <!-- 通过CDN引入Vue.js -->
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <!-- 通过CDN引入axios -->
        <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
        <style type="text/css">
            .container{
                display: flex;
                flex-direction: column;
            }
            .card{
                display: flex;
                margin-bottom: 10px;
            }
            .cover{
                width: 100px;
                height: 100px;
            }
            .cover img{
                width: 100%;
                height: 100%;
            }
        </style>
    </head>
    <body>
        <div id="app">
            <div class="top">
                <p>{{users.length}}个人在线</p>
            </div>
            <hr>
            <div class="container">
                <div class="card" v-for="user in users">
                    <div class="cover">
                        <img :src="'img/'+user.avatarURL">
                    </div>
                    <div class="">
                        <p>{{user.id}}</p>
                    </div>
                    <div class="">
                        <p>{{user.name}}</p>
                    </div>
                </div>
            </div>
        </div>
        <script type="text/javascript">
            var app = new Vue({
                el: '#app',
                data: {
                    users: []
                },
                created: function() {
                    var _this = this;
                    axios.get('http://localhost:8888/api/getAll')
                        .then(function(response) {
                            _this.users = response.data;
                        })
                }
            })
        </script>
    </body>
</html>

上面前端的代码,主要是通过引入Vue的js文件实现Vue的组件功能,一般在功能复杂的项目中,我们不会这样使用,而是单独新建一个前端的项目,使用NPM来创建运行打包项目。具体的Vue教程,可以去看这个网站:https://www.runoob.com/vue2/vue-tutorial.html。

目录结构和运行结果如下

完美收官!!!!!!!

github 代码:https://github.com/pbw123/spring-boot-demo

个人网站:http://47.101.51.245/


(完)

MarkerHub文章索引:(点击阅读原文直达)

https://github.com/MarkerHub/JavaIndex

【推荐阅读】

SQL的各种连接Join详解,都需要熟练掌握!

开源博客项目eblog完整搭建教程!


公众号文章索引

基于SpringBoot+Vue的前后端分离练习项目 这是一款基于SpringBoot+Vue的前后端分离的项目,麻雀虽小,五脏俱全,值得拥有! 阅读详情

相关推荐

springboot和vue实现前后端分离基础教程

springboot-vue 前后端分离,解决跨域问题

qq_54076935的博客 8818

SpringBoot+Security+Vue前后端分离开发权限管理系统

适用人群所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士课程概述该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后端分离开发。包括图形展示、权限管理、用户管理等功能。【后端技术】技术说明Spring Boot2MVC框架 开发的一站式解决方案Spring Security5 认证和授权框架MyBatisPlus3.3.1 基于 MyBatis 框架的快速研发框架MyBatisCode工具生成 MyBatis 相关代码Jackson提供了处理 JSON 数据的工具Lombok简化对象封装工具 Druid   数据库连接池 【前端技术】Vue       互联网最火的前端框架Vue Router路由框架Vuex全局状态管理框架Axios前端 HTTP 框架Element UI前端 UI 框架Vue Element Admin前端模板Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV【开发工具】IntelliJ IDEA开发 IDESQLyog数据库连接客户端PostmanHTTP 请求工具【开发环境】工具版本JDK1.8MySQL5.7

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

springboot+vue前后端分离项目(后台管理系统)

学习笔记 学习资源来自于B站良心up 一、所使用的环境配置: 编译器:IDEA 后台框架:SpringBoot Mybatis-Plus 数据库:Mysql8.0 数据库工具:Navicat premium 前端框架:Vue Element UI 引用的富文本编辑器:wangEditor 二、项目简介 这是一个基于SpringBoot和Vue的后台管理系统。 主要功能: 1.实现用户信息的CRUD,以及页面的显示。 2.用户权限的分配,不同权限的用户锁能看到的的界面信息和能进行的操作是不同的。 3.实现图片

先养只猫的博客 5万+

单细胞数据导入实战:Read10X函数常见报错与解决方案

本文针对单细胞转录组分析中Read10X函数数据导入的常见问题,提供了详细的实战解决方案。重点解析了因文件路径错误、压缩文件未解压、版本命名不符及内存不足导致的报错,并给出了检查路径、正确解压、重命名文件、调整参数及优化内存等具体操作步骤,帮助用户高效完成单细胞数据导入,为后续分析奠定坚实基础。

weixin_28235513的博客 241

路径搜索算法——RRT*算法

RRT算法是RRT算法的优化版本,通过引入路径优化机制实现渐进最优性。该算法在高维空间和复杂环境中表现优异,主要步骤包括随机采样、树扩展和邻近节点重新连接。相比RRT,RRT能够不断优化路径质量,但计算复杂度更高。Python实现展示了其核心逻辑:随机采样扩展树节点,检查碰撞,选择最优父节点,并通过重新连接优化路径。算法适用于机器人导航等场景,但需平衡计算效率与路径质量。

swaggytiger的博客 3063

梳理总结SpringBoot+Vue前后端分离的简单实现

SpringBoot+Vue前后端分离的简单实现

fuhuitao的博客 7398

ADS入门学习笔记——射频振荡器的设计

振荡器是射频系统中的基本部件之一,可以将直流功率转换为射频功率,在特定的频率点建立起稳定的正弦振荡,成为所需的射频信号源。

weixin_42126696的博客 8952

SpringBoot 和 Vue 前后端分离教程(附源码)

编辑:业余草 来源:https://www.xttblog.com/?p=4851 昨天,一位网友问我要 SpringBoot + Vue 的源码项目。其实网上有很多,我这里分享一个项目...

xmt1139057136的专栏 1万+

Python经典编程习题100例:第25例:求各个阶乘的和

不要自卑,去提升实力 互联网行业谁技术牛谁是爹 如果文章可以带给你能量,那是最好的事!请相信自己 加油o~ 本人初学Python,只为熟悉语法编写,大神请勿理会 点击下面链接 Python经典编程100例习题汇总 题目描述: 求1+2!+3!+…+20!的和。 解题思路: > 调用math模块中的factorial函数 代码: import math sum=0 for i in range(1,21): sum+=math.factorial(i) print(sum) ..

优快云 精品推荐 2736

YOLO11涨点优化:训练技巧 | 使用标签平滑(Label Smoothing)配合余弦退火学习率,防止过拟合,稳步提点

摘要: YOLO11凭借动态卷积核调度、自适应特征融合等创新成为2026年目标检测主流,但面临训练集过拟合问题。文章聚焦两种零推理开销的正则化技巧:标签平滑(Label Smoothing)和余弦退火学习率(Cosine Annealing LR)。标签平滑通过软化硬标签(如将[1,0]改为[0.9,0.1])防止模型过度自信,代码中通过label_smoothing=0.1一键启用;余弦退火则以平滑的余弦曲线调整学习率(cos_lr=True),避免阶梯衰减的震荡。两者组合可显著缩小YOLO11训练与验证

2601_95807009的博客 45

毕业设计|SpringBoot+Vue的前后端分离个人博客系统

语言环境:Java: jdk1.8数据库:Mysql: mysql5.7应用服务器:Tomcat: tomcat8.5.31开发工具:IDEA或eclipse一个功能完备的个人博客系统, redis缓存记录可恢复未完成的博客。

BS009的博客 1290

ardupilot BMI088加速度陀螺仪学习

本节主要记录ardupilot 中BMI088传感器的学习过程,欢迎批评指正。BMI088是一款高性能6轴惯性传感器,由16位数字三轴±24g加速度计和16位数字三轴±2000°/ s陀螺仪组成。 BMI088允许高精度测量方向和沿三个正交轴的运动检测。BMI088具有高振动鲁棒性和3 x 4.5 x0.95mm³的小尺寸,是用于无人机和机器人应用等恶劣环境的高性能IMU中的独特产品。 BMI088专门设计用于有效抑制由于PCB上的共振或整个系统的结构而可能发生的振动。 除了高振动稳定性外,BMI088的出

陌城烟雨 2057

SpringBoot,Vue前后端分离开发首秀

需求:读取数据库的数据展现到前端页面 技术栈:后端有主要有SpringBoot,lombok,SpringData JPA,Swagger,跨域,前端有Vue和axios 不了解这些技术的可以去入门一下 lombok入门 swagger入门 SpringData JPA入门 配置:mysql...

chunlv7926的博客 148

Open3D点云数据处理(二):读写点云,你真的会吗?

本文详细介绍了open3d加载点云、保存点云的方法,同时打印点云坐标、颜色、法向量等字段信息。

孙悟空 2604

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

springboot前后端分离部署_SpringBoot+Vue 前后端分离开发首秀

作者:Joker需求:读取数据库的数据展现到前端页面 技术栈:后端有主要有 SpringBoot,lombok,SpringData JPA,Swagger, 跨域,前端有 Vue 和 axios 不了解这些技术的可以去入门一下 lombok 入门 swagger 入门 SpringData JPA 入门 配置:mysql 8.0.11,IntelliJ IDEA 2017.1.2,HB...

weixin_39989973的博客 248

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

域接口开发_SpringBoot+Vue 前后端分离开发首秀

作者:Joker需求:读取数据库的数据展现到前端页面 技术栈:后端有主要有 SpringBoot,lombok,SpringData JPA,Swagger, 跨域,前端有 Vue 和 axios 不了解这些技术的可以去入门一下 lombok 入门 swagger 入门 SpringData JPA 入门 配置:mysql 8.0.11,IntelliJ IDEA 2017.1.2,HB...

weixin_32148341的博客 93

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

springboot+vue全栈开发_SpringBoot,Vue前后端分离开发首秀

首先创建一个Spring Boot项目,目录结构如下:在pom.xml中加入如下依赖 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime org.projectlombok lombok true org.springframew...

weixin_39778150的博客 159

SpringBoot和Vue前后端分离

文章目录SpringBoot-Vue前后端分离实现增删改查及分页小DEMO一、前言二、开发栈前端后端三、后端开发环境搭建四、数据库五、后端开发过程六、前端开发环境搭建七、前端开发过程八、前后端整合八、该项目的意义GitHub地址: SpringBoot-Vue前后端分离 实现增删改查及分页小DEMO 一、前言 主要通过Spring Boot和Vue`来简单实现一个前后端分离的小demo,该小demo实现增删改查、分页功能。主要是该小demo了解SpringBoot搭配Vue完成前后端分离项目的开发流程和项目

m0_46393861的博客 2万+

SpringBoot+Vue前后端分离及交互

什么是前后端分离? 将一个应用的前后端代码分开写 为什么要前后端分离? 在传统的Javaweb开发中,往往是前端人员写好html后,再由后端人员将java整合其中,变成JSP。 如此一来就造成了沟通不便、降低效率、前后端耦合度高等问题。 前后端分离是如何解决此问题的呢? 前端写客户端代码,后端写服务端代码并提供接口 前端通过ajax请求访问接口,将model展示到view中 如此前后端只需要约定接口文档(URL、参数、数据类型),之后便分别独立开发。前端可以通过json造假数据进行测试,后端用postman

D_ps19990501的博客 1万+

使用SpringBoot和Vue开发的一个简单前后端分离项目

更多内容可以访问我的个人博客。 0. 技术栈 主要功能:登录后跳转到书籍管理页面,能够对书籍信息进行增删改查。 后端: Spring Boot Mybatis Plus MySQL 前端: Vue Axios Element-UI 1. 前端 关于怎么安装Vue以及构建Vue脚手架的部分,可见我的另一篇博客Vue的简单使用; 为了使开发的结构更加清晰,我们将Vue文件的显示部分即htm...

Y_lx的博客 1万+
上一篇: 这篇让你吃透Java集合框架!
下一篇: 如何短时间内通过Java面试?
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值