改造Springboot+vue项目

news2024/11/13 14:37:45

准备

搜索一个项目,并成功运行

毕设时,我们可以从网上搜索一个项目(包括前端的页面、后台的处理、数据库等有一下简单的模板样式)并能成功的将项目在自己的电脑上跑起来。毕设项目可以用搜索的模板(不用从头开始写,提高我们的开发效率),再根据自己的毕设题目具体要求更改。

在这里我搜索到了:springboot+vue前后端分离项目(后台管理系统)_springboot前后端分离项目_先养只猫的博客-CSDN博客

拷贝到本地之后,需要在idea中调整一下版本号、端口号、数据的连接等。最终能够成功运行,遇到的问题可以搜索,有很多这方面的回答。我主要介绍怎么根据自己的功能改造。

技术储备

  • 能通过各种手段,解决后端控制台报错,会使用开发者模式调试/测试
  • 了解maven  pom.xml的配置
  • 了解服务器的端口
  • 了解vue框架的配置,能看懂request拦截器,能看懂vue目录的含义
  • 能使用Element-UI
  • 了解springboot框架,了解DAO模式
  • 了解常见注解的含义

不用慌张,改造中可以边练边学习,遇到的问题不懂就搜索。

改造系统首页

这是搜索到的模板中提供登录、注册表单,样式过于单一。

  • 这里可以给整体的蓝色背景换成一张好看的背景图片
  • 将毕设的系统名称写在表单上
  • 给登录框添加圆角和背景虚化

实现

将背景图片挂载到最外层的容器上,这里的login_container是我取的名字

.login_container {
  width: 100%;
  height: 100%;
  background: url(../assets/images/bg.jpeg);
  position: fixed;
  background-size: 100% 100%;
}

设置圆角和背景虚化,box-shadow边框的阴影,box-radius圆角、 backdrop-filter: blur(3px)背景虚化3个像素

.login_box {
  width: 500px;
  height: 320px;
  background-color: rgba(225, 225, 225, 0);
  border: 1px solid rgba(225, 225, 225, 0);
  box-shadow: 2px 3px 3px #aaaaaa;
  border-radius: 15px;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.login_box {
  backdrop-filter: blur(3px);
  box-shadow: 0 0 10px #fff;
}

效果

改造数据展示页面

实现

在APP.vue的<template>标签中设置样式,可以实现页面背景颜色的渐变。这段代码也可以放在导航栏或者需要的区域。

<template>
  <div style="background: linear-gradient(0deg,#1deca4,#61b9dc);">
  </div>
</template>

效果

根据题目的要求,在导航栏上添加一个按钮,并展示对应的数据

这是模板提供的导航栏和展示信息,我们可以根据自己的功能更改

第一步——数据库建表

预先设计一张表,我们想要存储哪些信息,字段的名字、类型、大小、主键等

第二步——添加实体类

@RequestMapping("/detail")

@TableName是数据库中表的名字

 @TableId(type = IdType.AUTO)   配置自动增加

 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 处理日期格式的数据

@TableName("ElevatorDetail")//mybatis-plus
@Data
public class ElevatorDetail {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private Integer num;
    private String maker;
    private String max;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date date;
    private String unit;
    private String location;
}

第三步——添加控制类

在src/main/java/com.wen/controller下新建一个Java文件,添加控制类,处理前端发送的请求

@RequestMapping("/detail")    value值需要与路由和页面的名称对应

@RestController
@RequestMapping("/detail")
public class ElevatorDetailController {
    @Resource
    ElevatorDetailMapper DetailMapper;

    @PostMapping
    public Result<?> save(@RequestBody ElevatorDetail detail) {
        DetailMapper.insert(detail);
        return Result.success();
    }

    @PutMapping
    public Result<?> update(@RequestBody ElevatorDetail detail) {
        DetailMapper.updateById(detail);
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result<?> delete(@PathVariable Long id) {
        DetailMapper.deleteById(id);
        return Result.success();
    }

    @GetMapping
    public Result<?> findPage(@RequestParam(defaultValue = "1") Integer pageNum,
                              @RequestParam(defaultValue = "10") Integer pageSize,
                              @RequestParam(defaultValue = "") String search) {
        LambdaQueryWrapper<ElevatorDetail> wrapper = Wrappers.<ElevatorDetail>lambdaQuery();
        if (StrUtil.isNotBlank(search)) {
            wrapper.like(ElevatorDetail::getMaker, search);
        }
        Page<ElevatorDetail> DetailPage = DetailMapper.selectPage(new Page<>(pageNum, pageSize), wrapper);
        return Result.success(DetailPage);
    }
}

第四步——配置映射

在src/main/java/com.wen/controller下新建一个接口文件,继承了基本的映射类

BaseMapper< ? >  填写第二步中创建的实体类名

public interface ElevatorDetailMapper extends BaseMapper<ElevatorDetail> {

}

第五步——添加页面

在vue/src/views下新建一个vue文件

在<template>标签中写出要展示的数据,prop=" ? "  这里填写的名称与数据库字段名称一致,不想显示的字段可以不写

<el-table class="el-table"
              :data="tableData"
              border
              stripe>
      <el-table-column
          prop="num"
          label="电梯编号"
          sortable>
      </el-table-column>
      <el-table-column
          prop="maker"
          label="生产厂家">
      </el-table-column>
      <el-table-column
          prop="max"
          label="最大载人数">
      </el-table-column>
      <el-table-column
          prop="date"
          label="最新检测日期">
      </el-table-column>
      <el-table-column
          prop="unit"
          label="维保单位">
      </el-table-column>
      <el-table-column
          prop="location"
          label="电梯地址">
      </el-table-column>

    </el-table>

在<script>标签中,给这个vue设置一个名字,这里的名字需要和第三步控制类中填写的名字一致

export default {
  name: 'detail',

第六步——配置路由

在vue/src/router/index.js 添加第五步vue文件的路由信息,注意所有的名称保持一致

children: [
    {
        path: '/detail',
        name: 'Detail',
        component: ()=>import("@/views/ElevatorDetail")
      }
]

第七步——配置导航栏

在vue/src/components/Aside.vue中的<template>标签添加

<el-menu-item index="/detail">电梯登记信息 </el-menu-item>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/547832.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】_2.包装类与泛型

目录 1. 包装类 1.1 基本数据类型和对应的包装类 1.2 &#xff08;自动&#xff09;装箱和&#xff08;自动&#xff09;拆箱 1.2.1 装箱与拆箱 1.2.2 自动装箱与自动拆箱 1.3 valueOf()方法 2. 泛型类 2.1 泛型类与Object类 2.2 泛型类语法 2.3 泛型类示例 2.4 裸类…

怎么把照片缩小到200k?图片指定大小压缩怎么弄?

平时在给账号设置头像时&#xff0c;都会遇到图片过大无法上传的情况&#xff0c;这时候我们可以通过图片压缩指定大小工具来将图片压缩到200kb以下&#xff0c;这样就可以顺利设置头像了&#xff0c;下面一起来看一下图片指定大小压缩&#xff08;https://www.yasuotu.com/ima…

机器学习笔记 - windows基于TensorRT的UNet推理部署

一、TensorRT简介 NVIDIA TensorRT是一个用于高性能深度学习推理的平台。TensorRT适用于使用CUDA平台的所有NVIDIA GPU。所以如果需要基于TensorRT部署,至少需要一个NVIDIA显卡,算力5.0以上,比Maxwell更新的架构,可以参考下表。 CUDA GPUs - Compute Capability | NVIDIA …

电动车头盔检测数据集

现在正慢慢整理自己有关电动车头盔检测的项目内容&#xff0c;会逐渐将这些资源进行发布&#xff0c;供大家参考和使用【部分资源有偿提供&#xff0c;毕竟花费了很多心血】。 这篇文章主要是发布相关数据集的。网上关于工厂环境下的头盔数据集有很多&#xff0c;而且多种多样…

PFCdocumentation_Coupling PFC and FLAC3D

目录 Coupling PFC and FLAC3D 1D Structural Element Coupling Scheme Wall-Zone Coupling Scheme 2D 3D Ball-Zone Coupling Scheme Commands FISH Functions Coupling PFC and FLAC3D 在 FLAC3D 图形用户界面中&#xff0c;可以通过“工具 ‣ 加载 PFC”菜单项加载 …

计算机组成与结构易错题

计算机组成与结构 海明校验码是在n个数据位之外增设k个校验位&#xff0c;从而形成一个kn位的新的码字&#xff0c;使新的码字的码距比较均匀地拉大。n与k的关系是&#xff08;A&#xff09;。 A、2k-1≥nk B、2n-1≤nk C、nk D、n-1≤k 知识&#xff1a; 确定要传输的信息&…

普通专科生,拿什么拯救自己的未来我想成为一名网络安全专业人员,需要做什么?

前 言 写这篇文章的初衷是很多朋友都想了解如何入门/转行网络安全&#xff0c;实现自己的“黑客梦”。文章的宗旨是&#xff1a; 1.指出一些自学的误区 2.提供客观可行的学习表 3.推荐我认为适合小白学习的资源.大佬绕道哈&#xff01; 我的经历&#xff1a; 我19年毕业&…

【C语言】入门必看之循环练习(含二分查找动图)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;C语言 ⚡注&#xff1a;此篇文章的 代码风格部分 将根据《高质量 C/C 编程指南》 —— 林锐 进行说明。该部分将用紫色表示 该篇将对循环语…

AI落地:10分钟变身Excel高手

本文首发公众号突围一只鹰。 使用Excel的时候经常有几个难点&#xff1a; 有些功能不知道如何操作不知道该用哪个公式不知道公式的参数如何设置复杂数据处理不知道如何写公式多表链接的时候不知道如何写公式其他数据源导入Excel只会手动录入 有了ChatGPT之后&#xff0c;很多…

求爷爷告奶奶,阿里大佬才甩出这份Spark+Hadoop+中台实战pdf

Spark大数据分析实战 1、Spark简介 初识Spark Sp ark生态系统BDAS Sp ark架构与运行逻辑 弹性分布式数据集 2、Spark开发与环境配置 Spark应用开发环境2置 使用Intelli i开发Spark 远程调试Spark程序 Spark编译 配置Spark源码阅读环境 3、BDAS简介 SQL on Spark S…

Windows使用flask部署HTML网页的方法

使用Flask python运行设计的好的html网页&#xff0c;已经配套的css和js文件&#xff1a; 前提条件 html、css 和 js 在同一个目录之下 html 内使用 css 和 js &#xff0c;需要使用相对路径flask python 程序可以和 html 不在同一个目录 即&#xff1a;python程序可以在D盘…

sql server 数据库

1、窗口函数 sqlserver中窗口函数和OVER()函数_lfw2019的博客-CSDN博客参考&#xff1a;https://blog.csdn.net/qq_41805514/article/details/81772182 https://blog.csdn.net/qq_27997957/article/details/82383328一、OVER() 函数  语法结构&#xff1a;OVER([ PARTITION B…

【C++初阶】动态内存管理

一.C内存分布 说明&#xff1a; 1. 栈又叫堆栈--非静态局部变量/函数参数/返回值等等&#xff0c;栈是向下增长的&#xff1b; 2. 内存映射段是高效的I/O映射方式&#xff0c;用于装载一个共享的动态内存库。用户可使用系统接口 创建共享共享内存&#xff0c;做进程间通信&…

【Leetcode刷题】算法:合并两个有序链表

文章目录 一、题目介绍二、解决办法三、提交结果 一、题目介绍 二、解决办法 首先定义一个名为ListNode的类&#xff1a; class ListNode:def __init__(self, val0, nextNone):self.val valself.next nextListNode代表一个链表节点&#xff0c;每个节点包含一个值&#xff…

【python】给你女神制作一个520图片墙吧~

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 环境使用 所需软件&#xff1a; Python 3.8 解释器 Pycharm 编辑器 模块使用&#xff1a; 内置模块 import re >>> python独有的匹配字符串的模块&#xff0c;该模块种提供功能基于正则表达式实现的&#xff0c…

六级备考28天|CET-6|听力第一讲|基本做题步骤与方法|13:30~14:30

目录 1. 重点词汇 proofread / ˈpruːfriːd / v.校对&#xff0c;校阅 autonomous adj.独立的 obsession n. 喜好 ample …

网络安全的学习路线

在众多高大上的学习路线指导中&#xff0c;尝试做一股清流&#xff0c;把要讲清楚的都讲清楚&#xff0c;该学些什么&#xff0c;学到哪个程度进入到下一阶段的学习这些才是最重要的。 在学习之前首先要做好学习的系统规划&#xff1a; 1.目前市场需求主流的岗位里&#xff0…

vue3+ts+wangEditor5菜单栏添加自定义图标按钮,自定义弹出界面内容,自定义插入链接 五步走

Wangeditor安装&#xff1a;VUE3的安装 &#xff0c;其它看官网&#xff1a; npm install wangeditor/editor --save npm install wangeditor/editor-for-vuenext --save 官网&#xff1a;优势 | wangEditor 官方插入自定义内容样例&#xff1a; https://github.com/wange…

XDP入门体验之hello world

本文目录 1、下面这二张图&#xff0c;能非常好的说明XDP在Linux内核里的网络数据处理架构上的位置。2、XDP提供了可编程的灵活处理方式&#xff0c;XDP 程序可以通过 XDP action code来指定驱动程序对报文的后续处理方式&#xff1a;3、一个将收到的报文在XDP里直接丢弃的例子…

一款IP合并和分解工具

一&#xff1a;需求说明 近期在工作中有个需求&#xff0c;需要将七千多个ip地址&#xff08;有的带掩码&#xff0c;有的不带掩码&#xff09;进行合并尝试&#xff0c;看能不能通过合并减少ip的条目数。这就涉及到ip和掩码的计算&#xff0c;举例如下: 192.168.1.0/25 192.16…