Springboot+Vue的项目学习总结


title: Springboot+Vue的项目学习总结
top: false
cover: false
toc: true
mathjax: false
date: 2023-12-03 11:16:54
author: Lurume
img:
coverImg:
password:
summary:
tags:
categories:


十月十一月这两个月算挺忙的,也都忘了更新了,今天有时间就做个简单的总结吧。在这两个月的时间里我看完了两个视频,首先是看了一个简单的Springboot+Vue的基础知识入门视频,但是对项目结构还是不熟悉,也忘的很快。之后我又找了个播放量高的视频跟着一起做项目。刚好这学期数据库实践的大作业就是完成一个数据库管理系统,所以我选择的是仓库后台管理系统,算是一个烂大街的项目了,难度也不高,主要是为了熟悉项目流程和结构。这里不得不提一嘴,计算机没落的太快了,大一时大家都说学java工作多工资又高,这才每两年就又说饱和了,java月薪两三千,真是太难了。

整个项目过程中,前半部分我是老老实实的跟着做的,后面重复代码太多了,基本上就是改改名字什么的,我就直接复制粘贴源码了,整个流程倒也还算顺利。最后完成的时候我又想着说太简陋了,加了功能,本来画了一个小时加好了,第二天测试又突然bug,改了一个晚上。

这个bug就是如果我想要新增物品时进行记录,那么在save函数中直接先调用doSave再调用doAddGoods的话会发生500的错误。经过调试分析,原因就在于数据存储的过程过慢,导致我添加记录时没办法根物品名称查询到物品的ID,我尝试使用premise异步执行但是也还是一样的结果,最终也没搞懂要怎么才能等存储完再添加记录,于是我换了一种思路。

新的思路就是在我新增之后页面是会刷新的,也就是执行loadPost函数来查询物品,那么我就在新增物品时先记录物品名称,然后如果新查询到的列表中的最后一项物品的名字与新增物品的名字相同,也就是说新增成功了,然后调用doAddGoods函数来新增记录,这种情况下就能完美的保证新增完之后再进行记录,测试下来是没有bug的。

image-20231203112435073

接下来是我的实验报告部分:

*实验三*

学号:102101514 姓名:刘顺洋 专业:计算机科学与技术 班级:5班

《数据库应用实践》实验三:数据库应用系统的开发

实验环境:

CPU:AMD Ryzen 5 5600H with Radeon Graphics

显卡:NVIDIA GeForce RTX 3050 Laptop GPU

操作系统:Microsoft Windows 10 家庭中文版

数据库管理系统:MySQL

数据库可视化软件:Navicat Premium 16

编译器:IntelliJ IDEA

浏览器:Google Chrome

实验内容:

*一、系统选题需求情况及任务分工情况说明*

任务分工:无组队

项目名称:仓库管理系统

内容简介:
该项目旨在通过使用Spring Boot、Vue和MySQL等技术,实现一个完整的仓库后台管理系统。系统将包括对管理员权限、用户、仓库和物品的增删改查功能,以及记录功能。以下是系统的主要需求情况:

\1. 用户登录与权限管理:

· 用户通过账号和密码进行登录,系统进行身份验证和授权。

· 设有一个超级管理员账号,具有系统中所有权限,包括用户管理和仓库管理等。

\2. 管理员权限管理:

· 超级管理员可以管理用户的权限,包括创建、编辑和删除用户账号。

· 管理员可以分配不同的权限级别给其他用户,以控制其对仓库和物品的操作权限。

\3. 用户管理:

· 管理员可以管理用户信息,包括添加新用户、编辑用户信息和删除用户账号。

· 用户信息包括用户名、密码、姓名、联系方式等基本信息。

\4. 仓库管理:

· 用户可以管理仓库信息,包括添加新的仓库、编辑仓库信息和删除仓库。

· 仓库信息包括仓库名称、地址、负责人等基本信息。

\5. 物品管理:

· 用户可以管理仓库中的物品信息,包括添加新的物品、编辑物品信息和删除物品。

· 物品信息应包括物品名称、数量、规格、存放位置等基本信息。

\6. 记录功能:

· 系统应记录用户对仓库和物品的操作记录,包括添加、编辑和删除等操作。

· 记录应包括操作时间、操作人员、操作类型等信息,以便进行操作追踪和审计。

通过实现以上需求,仓库管理系统将提供一个方便、高效的后台管理平台,用于管理仓库中的物品信息和用户权限。该系统可以帮助管理员更好地控制仓库资源,提高管理效率,并提供操作记录用于追踪和审计。同时,系统的用户管理和权限分配功能可以确保仅授权人员能够进行相关操作,加强了系统的安全性和可靠性。

*二、系统的概念数据模型(E-R 图)设计*

img

*三、系统中每张表的说明*

*1、用户表(User Table):*

l 表名:user

l 描述:该表存储用户信息。

l 字段:

l id:主键,自增长。表示用户的唯一标识符。

l no:用户账号。

l name:用户姓名。

l password:用户密码。

l age:用户年龄。

l sex:用户性别。

l phone:用户电话号码。

l role_id:用户角色。0表示超级管理员,1表示管理员,2表示普通用户。

l isValid:表示用户是否有效。Y表示有效,其他值表示无效。

*2、菜单表(Menu Table):*

l 表名:menu

l 描述:该表存储菜单信息。

l 字段:

l id:表示菜单的唯一标识符。

l menuCode:菜单编码。

l menuName:菜单名称。

l menuLevel:菜单级别。

l menuParentCode:菜单的父级编码。

l menuClick:点击触发的函数。

l menuRight:菜单权限。0表示超级管理员,1表示管理员,2表示普通用户,可以用逗号组合使用。

l menuComponent:菜单组件。

l menuIcon:菜单图标。

*3、仓库表(Storage Table):*

l 表名:storage

l 描述:该表存储仓库信息。

l 字段:

l id:主键,自增长。表示仓库的唯一标识符。

l name:仓库名称。

l city:仓库所在城市。

l manager:仓库负责人。

l remark:备注信息。

*4、物品分类表(GoodsType Table):*

l 表名:goodsType

l 描述:该表存储物品分类信息。

l 字段:

l id:主键,自增长。表示物品分类的唯一标识符。

l name:分类名称。

l remark:备注信息。

*5、物品表(Goods Table):*

l 表名:goods

l 描述:该表存储物品信息。

l 字段:

l id:主键,自增长。表示物品的唯一标识符。

l name:货物名称。

l storage:仓库ID。

l goodsType:分类ID。

l count:数量。

l remark:备注信息。

*6、记录表(Record Table):*

l 表名:record

l 描述:该表存储记录信息。

l 字段:

l id:主键,自增长。表示记录的唯一标识符。

l goods:货品ID。

l userId:取货人/补货人ID。

l admin_id:操作人ID。

l count:数量。

l createtime:操作时间。

l remark:备注信息。

*四、系统运行环境配置,安装操作说明,前端与后台数据库连接用到的关键语句说明*

*运行环境配置:*

l java JDK1.8(8)版本

l IntelliJ IDEA

l maven-3.9.4

l Node.js

l MySQL

*安装操作说明:*

配置完环境之后在IDEA中打开项目文件夹。在wms-web目录下以管理员身份运行终端,执行npm install命令下载项目所需的依赖。

*运行操作:*

****前端:****在wms-web目录下终端执行npm run serve指令。

****后端:****程序界面右上角运行

*前端与后台数据库连接用到的关键语句:*

保存:

前端向后端发送post请求:

img

后端通过调用storageService的save方法,将传入的Storage对象存储到数据库中:

img

查询:

前端向后端发送post请求查询数据:

img

后端通过封装好的方法生成查询条件语句:

img

img

*五、系统主要功能界面介绍(需使用截图)*

img

img

img

img

img

img

img

img

img

*六、实验结果总结:(分析系统运行效果,说明系统优缺点及改进方向)*

系统整体运行流畅,基本功能都有实现,且能正确运行。不确定会不会有没察觉到bug。

我认为这个系统的优点是具有极强的可拓展性以及较为完善的功能。权限管理也较为优秀,对于不同权限的人员展示不同的功能。并且会记录出入库操作,方便后期查看。

缺点的话就是我并没有深入仓储行业进行调查,也许在表的设计方面具有一些缺陷或者与实际需求不符的地方。还有就是可能会存在我没测试出来的问题。并且没有可视化的图表界面以及数据统计功能。

改进方向的话,我认为可以为其添加更加严格的权限管理,添加更多的约束条件。并且超级管理员可以自由的设置各级管理员的权限,方便根据实际情况调整。

编程工作总结:

*(系统开发所付出的努力、面临的困难,自学了哪些相关知识;自己负责什么模块,遇到什么问题怎么解决的,有没有自己创新的设计,开发的体会与收获等。请认真完成,不少于 500 字。注意:分组完成的同学只说明自己完成的工作,不要写别人的工作)*

该系统是我在b站上找的视频跟做的。整个跟做视频时长11.5个小时,但是由于我没有半点Springboot和Vue的基础,所以其实在看跟做视频前我预先观看了一个10小时的速成视频。总体视频时长加起来有21.5个小时。在这期间还需要按时上课,以及其他课程的考试和作业等等。所以我遇到的第一个困难就是时间安排问题,并且实际操作起来花费的时间肯定远超视频时长。

第二个大问题出现在环境配置上,老话说的好“万事开头难”。对于计算机专业的学生来说配置环境就是第一个拦路虎,你总是无法预料到自己的电脑会出现什么奇奇怪怪的错误。Java的版本与maven版本不匹配的问题就卡了我半天,并且由于我以前下载过JDK17版本,导致重建项目后我需要一个个去设置JDK版本才能正常运行,再就是maven依赖包的问题,我总是报错下载依赖失败,跟着网上的解决办法做了好几遍,也修改过maven的权限,最终通过降低SpringBoot的starter依赖版本解决了问题。还有配置环境中遇到的各种问题真的是折磨人,好在我是在国庆放假期间配置的,时间充裕。

在这个项目中我自学了Springboot和Vue。了解了现在主流的框架,学会了如何将前端与后台数据库建立连接,第一次接触到了整个完整的前后端分离的项目。

整个项目的主体框架是跟做的,做完后我在项目的基础上修改了仓库表的结构,本身的仓库表过于简单,我认为与实际相差很大便进行了补充完善。并且在新增界面自主添加了城市的选择,利用的是Element-UI的element-china-area-data库,该库封装了全国所有的省市区县甚至村的数据。还有视频中本身对于新增物品没有进行记录,但是我认为新增物品也是一个需要记录的行为,于是便根据项目经验添加了新增操作的记录。

第一次完整的开发一个项目颇有成就感,期间遇到的种种问题最终也都得到了解决。虽然只是一个简单的项目,但是也耗费了我两个月的时间,我非常庆幸自己较早开始做这件事,为自己预留了充足的时间,才不会导致最后火急火燎的赶DLL。此次项目的顺利完成给了我很大的鼓励,我自信能够在后续的学习生活中继续去做自己的项目。也感谢数据库这门课程以及老师给了我一个推力,驱动我行动起来。

项目源码

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 软件工程SpringBoot Vue毕设项目涉及到使用SpringBootVue.js来开发一个完整的软件系统。在这个项目中,我们将使用SpringBoot作为后端框架和Vue.js作为前端框架来实现项目的各个功能。 首先,我们需要在后端搭建一个SpringBoot应用程序。这个应用程序将负责处理与数据库交互、用户认证、业务逻辑等任务。我们可以使用Spring Data JPA来处理与数据库的交互,使用Spring Security来处理用户认证和授权,使用Spring MVC来处理请求和响应。通过使用这些强大的Spring框架,我们可以轻松地实现后端的功能。 接下来,我们需要在前端使用Vue.js来构建用户界面。Vue.js一个流行的JavaScript框架,它可以帮助我们构建交互式的前端界面。我们可以使用Vue.js来实现用户界面的各种元素,如表格、按钮、表单等。同时,Vue.js还可以帮助我们构建单页面应用程序,提升用户体验。 在这个毕设项目中,我们可以选择一个符合我们需求的具体功能。例如,我们可以开发一个在线商城应用,用户可以在该应用中浏览商品、添加到购物车、下订单等。我们可以使用SpringBoot来处理用户的购物车和订单,使用Vue.js来显示商品列表和购物车界面。 总之,软件工程SpringBoot Vue毕设项目一个全栈开发项目,需要用到SpringBootVue.js这两个强大的框架。通过这个项目,我们可以学习到如何使用这些框架来构建一个完整的软件系统,并且获得实际开发的经验。 ### 回答2: 软件工程SpringBoot Vue毕设项目一个综合性的项目,涉及到后端开发以及前端开发的技术。该项目的目标是实现一个基于SpringBoot后端和Vue前端的功能完善的软件应用。 在项目中,SpringBoot被用作后端开发的框架。SpringBoot一个基于Spring框架的快速开发框架,它简化了Spring应用的搭建过程,并提供了丰富的功能模块,如依赖注入、事务管理、ORM等。借助SpringBoot,开发者可以快速地搭建出一个稳定可靠的后端系统。在该毕设项目中,我们可以利用SpringBoot搭建后端的API接口,处理前端请求,并与数据库等后端资源进行交互。 而Vue作为前端开发的技术栈,被用来实现前端界面和交互逻辑。Vue一个轻量级的JavaScript框架,可以帮助开发者构建出动态且高效的用户界面。Vue具有优雅的语法和强大的数据绑定能力,同时还提供了丰富的扩展插件,如Vue Router、Vuex等。在该毕设项目中,我们可以利用Vue构建前端界面,并通过Ajax等技术与后端API进行交互,实现数据的获取、展示和修改。 总结起来,软件工程SpringBoot Vue毕设项目需要通过SpringBootVue两个框架,进行后端和前端的开发。通过合理的架构设计、良好的代码编写和团队协作,我们可以实现一个功能完备、高效稳定的软件应用。这个项目将对我们的软件工程能力进行全面的锻炼,提升我们的开发水平和团队合作能力。 ### 回答3: 软件工程毕设项目中,我选择了使用Spring BootVue框架进行开发。 为什么选择Spring BootSpring Boot一个基于Spring框架的轻量级开发框架,它简化了Spring应用的配置和部署过程。Spring Boot提供了很多开箱即用的功能和插件,使得开发者可以更加高效地进行开发。 为什么选择VueVue一个前端JavaScript框架,它可以帮助开发者构建交互式的用户界面。Vue具有简单易用、灵活性强、性能高等特点,是目前较为流行的前端框架之一。 我计划开发一个网上商城的电子商务平台作为我的毕设项目项目主要包括前端和后端两个部分。 前端部分将使用Vue框架实现用户界面的开发。我将使用Vue Router进行页面的路由管理,使用Vuex进行状态管理,以提高页面的可维护性和可拓展性。同时,我还将使用Element-UI作为UI框架,以便更加便捷地构建用户界面。 后端部分将使用Spring Boot框架进行开发。我将使用Spring MVC作为后端的MVC框架,使用Spring Data JPA进行数据库操作,使用Spring Security进行用户认证和授权管理。同时,我还将使用Redis作为缓存技术,提高系统的性能和并发处理能力。 整个项目的开发过程将采用敏捷开发的方法。我将使用Git进行版本管理,并结合使用GitHub进行代码提交和代码审查。同时,我将使用Docker进行项目的容器化和部署,以便更加方便地进行测试和部署。 综上所述,我计划使用Spring BootVue框架进行软件工程毕设项目的开发,实现一个网上商城的电子商务平台。我相信通过这次项目的开发,我将能够更加深入地理解和掌握这两个框架,并提高我的软件工程能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值