首页 > 其他分享 >带有 Spring Boot 后端的 Vue.js 前端

带有 Spring Boot 后端的 Vue.js 前端

时间:2023-06-29 16:02:24浏览次数:40  
标签:Vue Spring Boot 应用程序 js player

  1. 概述
    在开始本教程中,先推荐1个SpringBoot+Vue前后端分离Java项目,本项目是一个大型互联网金融项目,采用Spring Boot , Dubbo 微服务的架构,包括多个独立的微服务,micr-common个公共服务,micr-web服务,micr-database数据库服务,micr-pay支付服务 ,micr-task定时任务。
    前端技术栈:Vue,JavaScript, Axios, Promise
    后端技术栈:Spring Boot 2,Dubbo2.7, MyBatis 3, Redis 5, MySQL 5
    课程链接:

我们将介绍一个示例应用程序,该应用程序使用 Vue.js 前端呈现单个页面,同时使用 Spring Boot 作为后端。

我们还将利用 Thymeleaf 将信息传递给模板。

2.Spring启动设置
应用程序pom.xml使用spring-boot-starter-thymeleaf 依赖项进行模板渲染以及通常的spring-boot-starter-web:

org.springframework.boot spring-boot-starter-web 2.4.0 org.springframework.boot spring-boot-starter-thymeleaf 2.4.0 复制 Thymeleaf 默认在templates/查找视图模板,我们将向 src/main/resources/templates/index.html 添加一个 空的index.html。我们将在下一节中更新其内容。

最后,我们的 Spring Boot 控制器将位于src/main/java中:

@Controller
public class MainController {
@GetMapping("/")
public String index(Model model) {
model.addAttribute("eventName", "FIFA 2018");
return "index";
}
}
复制
该控制器渲染单个模板,其中的数据使用model.addAttribute通过 Spring Web Model 对象传递到视图。

让我们使用以下命令运行应用程序:

mvn spring-boot:run
复制
浏览到http://localhost:8080以查看索引页面。当然,此时它会是空的。

我们的目标是使页面打印出如下内容:

Name of Event: FIFA 2018

Lionel Messi
Argentina's superstar

Christiano Ronaldo
Portugal top-ranked player
复制
3. 使用 Vue.Js 组件渲染数据
3.1. 模板的基本设置
在模板中,我们加载 Vue.js 和 Bootstrap(可选)来渲染用户界面:

// in head tag

// other markup

// at end of body tag

复制
在这里,我们从 CDN 加载 Vue.js,但如果您愿意的话,您也可以托管它。

我们在浏览器中加载 Babel,以便我们可以在页面中编写一些符合 ES6 的代码,而无需运行转译步骤。

在现实应用程序中,您可能会使用 Webpack 和 Babel 转译器等工具来构建过程,而不是使用浏览器内的 Babel。

现在让我们保存页面并使用mvn spring-boot : run命令重新启动。我们刷新浏览器来查看我们的更新;还没有什么有趣的事情。

接下来,让我们设置一个空的 div 元素,将用户界面附加到该元素上:

复制 接下来,我们在页面上设置一个Vue应用程序:

复制
刚刚发生了什么?此代码在页面上创建一个 Vue 应用程序。我们使用 CSS 选择器#contents将其附加到元素。

它指的是页面上的空div元素。该应用程序现已设置为使用 Vue.js!

3.2. 在模板中显示数据
接下来,让我们创建一个标头,其中显示我们从 Spring 控制器传递的“ eventName ”属性,并使用 Thymeleaf 的功能来渲染它:

Name of Event: 复制 现在让我们将一个“ data” 属性附加到 Vue 应用程序来保存玩家数据数组,这是一个简单的 JSON 数组。

我们的 Vue 应用程序现在看起来像这样:

复制
现在,Vue.js 知道了一个名为players的数据属性。

3.3. 使用 Vue.js 组件渲染数据
接下来,让我们创建一个名为player-card的 Vue.js 组件,它仅渲染一名玩家。请记住在创建 Vue 应用程序之前注册此组件。

否则,Vue 将找不到它:

Vue.component('player-card', {
props: ['player'],
template: <div class="card"> <div class="card-body"> <h6 class="card-title"> {{ player.name }} </h6> <p class="card-text"> <div> {{ player.description }} </div> </p> </div> </div>
});
复制
最后,让我们循环应用程序对象中的玩家集并为每个玩家渲染一个玩家卡组件:

复制 这里的逻辑是名为v-for 的 Vue 指令,它将循环遍历players数据属性中的每个玩家,并为
  • 元素内的每个玩家条目 渲染一个玩家卡。

    v-bind:player意味着玩家卡组件将被赋予一个名为player的属性,其值将是当前正在使用的玩家循环变量。v-bind:key需要使每个

  • 元素唯一。

    一般来说,player.id是一个不错的选择,因为它已经是唯一的。

    现在,如果您重新加载此页面,请观察devtools中生成的 HTML 标记,它将类似于以下内容:

    • // contents
    • // contents
    复制 工作流程改进说明:每次更改代码时都必须重新启动应用程序并刷新浏览器,这很快就会变得很麻烦。

    因此,为了让生活更轻松,请参阅这篇关于如何使用 Spring Boot devtools和自动重启的文章。

    4。结论
    在这篇简短的文章中,我们介绍了如何使用 Spring Boot 作为后端和Vue.js作为前端来设置 Web 应用程序。此配方可以为更强大和可扩展的应用程序奠定基础,而这只是大多数此类应用程序的起点。

    本文由博客群发一文多发等运营工具平台 OpenWrite 发布

  • 标签:Vue,Spring,Boot,应用程序,js,player
    From: https://www.cnblogs.com/dljd/p/17514426.html

    相关文章

    • springboot整合mybatis
      1,在application.yml中配置点击查看代码#mybatis#配置mapper路径mybatis:mapper-locations:classpath:mapper/*.xml2,在每个DAO接口上面追加@Mapper注解-------------------------------------------------------------增删改查的实现代码application.yml配......
    • 前端面试真题-vue(一)
      1.说说对vue的理解 (1)vue.js是一种用于创建用户界面的渐进式的javascript框架 (2)也是用于创建单页面应用的web应用框架。 (3)vue的核心库只关心视图层,使得数据和视图的双向绑定变得快捷 (4)由于vue的核心库只关心视图层,所以不仅可以与其他库和现有项目整合,也可以添加更多的vue......
    • vue高德地图实现播放暂停功能,支持快进快退,播放倍数设置
      高德地图实现具体功能如图具体实现思路如下:<divclass="playAnimation"><tablewidth="100%"style=""border="0"><trclass="info_play"><td>{{currentMi......
    • 使用优启通 制作 WIN PE U盘时报BOOT.WIM 有毒的解决方法
      使用优启通制作WINPEU盘时报BOOT.WIM有毒的解决方法 1.打开“WindowsDefender”.2.点击“病毒和威胁防护”。3.点击“管理设置”。4.点击“添加或删除排除项”。5.将“EasyU_v3.7.exe”添加到排除即可。6.双击EasyU_v3.7.exe,开始制作U盘。 ......
    • springboot 通用限流方案设计与实现
      一、背景限流对于一个微服务架构系统来说具有非常重要的意义,否则其中的某个微服务将成为整个系统隐藏的雪崩因素,为什么这么说?举例来讲,某个SAAS平台有100多个微服务应用,但是作为底层的某个或某几个应用来说,将会被所有上层应用频繁调用,业务高峰期时,如果底层应用不做限流处理,该应用......
    • 光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法
      下面是本文的屏幕录像的在线视频:温馨提示:1、视频下载:线上视频被压缩处理,可以下载高清版本:链接:https://pan.baidu.com/s/1h600_BRR9O2Lr87zVQNgEw 提取码:dgpu 2、示例代码:https://pan.baidu.com/s/1rCqbY_j35FcRWRZbuOfHqg 提取码:79kh 下图是文章大纲:一、概述本篇文章介绍了V......
    • Vue.js项目在IE11白屏报错
      一、概述项目使用vue/cli4脚手架搭建的前端项目,vue版本为2.6.10。但开发环境的IE11打开显示白屏,F12打开显示:查明报错原因是:I.E.不支持ES6语法。二、解决方案(一)解决方案11、安装如下的依赖包:npminstall--save-devbabel-polyfill或npminstall--save@babel-polyfill2、mai......
    • SpringBoot 2 种方式快速实现分库分表,轻松拿捏!
      大家好,我是小富~(一)好好的系统,为什么要分库分表?(二)分库分表的21条法则,hold住!本文是《分库分表ShardingSphere5.x原理与实战》系列的第三篇文章,本文将为您介绍ShardingSphere的一些基础特性和架构组成,以及在Springboot环境下通过JAVA编码和Yml配置两种方式快速实现分库......
    • idea springboot本地打包配置
      cleanpackage-plrenren-admin-am-amd......
    • springboot入门教程,大家都是怎么学习的?
       学习SpringBoot可以帮助你提高Java后端开发的效率和质量,更快速地构建应用程序,并与当前的开发趋势保持一致。不过,建议你始终关注最新的版本和技术发展,及时了解并学习最新的特性和最佳实践。SpringBoot入门教程对于初学者来说是非常好学的。B站上动力节点王妈妈的springboot3教程......