博主简介:🍅博客专家、Java领域优质创作者、特邀作者、/华为云/阿里云等平台优质作者、专注于IT技术领域和学生毕业项目实战,指导学生毕业设计并参与学生毕业答辩指导🍅

技术范围:✌Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、安卓app、大数据、物联网、机器学习等设计与开发、简历模板、学习资料、面试题库、就业指导、技术互助等✌。

业务领域:✌免费功能设计定制、任务书、中期检查PPT、开题报告、系统功能实现、项目定制、论文辅导、撰写和降重、长期答辩辅导答疑、远程会议一对一专业讲解答辩辅导、模拟演练答辩、和代码讲解理解逻辑思路✌。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习


摘 要

随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设物流物流中心信息化管理系统。

本设计主要实现集人性化、高效率、便捷等优点于一身的物流物流中心信息化管理系统,完成物品信息、人员信息、车辆信息、订单信息、物流信息、公告信息、资讯信息、系统用户等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。

物流物流中心信息化管理系统使用Java语言,采用基于B/S架构的SpringBoot技术进行开发,使用 IDEA编译器编写,数据方面主要采用的是MySQL关系型数据库来作为数据存储媒介,配合MyBatis、Redis等技术完成系统的开发。

第1章绪论

1.1研究背景与意义

在当今高速发展的信息社会,现代物流行业突飞猛进发展,伴随着我国国民经济连续多年的高速增长,为现代物流发展创造了良好的条件。目前,我国各类物流企业数量越来越多,可以说现代物流业还将有更大的发展。 “物流”早在20世纪30年代就在美国形成了,然后逐渐引入到了日本等发达国家,我国最早是在80年代才对“物流”有了概念的,后来伴随着网络的普及以及信息技术的迅猛发展,物流被广泛应用到人们的工作、生活当中,到现在出现了不少的物流公司,在物流信息管理的方面,已经发生了翻天覆地的变化,从之前的人工手动来处理物流数量,手写物流单号,到现在的通过计算机智能化来处理信息数据,得到了质的变化,将以往,繁琐、耗时大、易泄密、难保存等缺点改变成了操作快速、省时省力、高保密性、易保存等优点。

在经历了3年的疫情之后,线上购物这个方式备受欢迎,人们不用再去超市或者菜市场这种人口密集的地方去购买商品,只要通过手机或者电脑,通过线上提交订单,就会有人把所需商品送到家门口,很多实体店的商家也逐渐加入到网购的大军中来,既然是线上销售,那就代表了会有大量的货物需要进行物流,因此物流行业也迅速发展起来。现如今,物流行业已经相当成熟,用户可以根据自己的需求进行寄快递、查看物流信息,管理员进行查看寄件信息,进行填写物流等,这一系列环节,随着寄件信息的不断增多,管理难度也是越来越大,投入的人力、物力、财力更是非常的巨大的,而效率却是依然比较低,在当今追求高品质服务的社会,已经不能更好的为用户提供服务了,所以,之前的这种投入大量人工来手动记录管理的方式,已经没有办法适应物流行业的发展需求,通过信息技术来进行管理上的变革必不可少。因此利用当下火热的计算机技术来针对物流行业建设一个安全、可靠、专业的信息管理系统,能让管理的流程更加的便捷,能让投入的人力有所减少,能够让效率得到明显的提升,还能给用户提供更高品质的服务。

1.2开发现状

我国的物流概念是从70年代末80年代初来源于日本,自此之后,开始了研究,直到20世纪90年代莫,我国对物流的研究有了突破,主要是在物流的战略、组织、绿色、精益物流和逆向物流方面,对此研究,国家领导人也表示出了重视,自此拉开物流在我国的新局面。现在我国的物流已经成为了一个庞大的产业链,逐步走向专业化、规模化、集团化、多元化和国际化,据我国2014调查研究使用第三方的物流企业只占22.2%,而美国使用第三方的物流企业则占58%。

国外的物流现在已经发展的很强大了,据统计2014年,美国的两大快递公司ups与联邦快递在中国政府获得了从业执照,ups新增加了从中国到欧洲的铁路货运业务,给“丝绸之路经济”添加了连接纽带,于此同时还添加了很多海外代沟,并宣称最快三天就能送达,还增加了很多服务,比如荷兰邮政广泛推广的晚间包裹快递服务,谷歌也在发展快递服务,亚马逊在这竞争激烈行业也插上了一脚也开始在纽约等地区广泛推广其生鲜物流服务;总之,国内的物流行业虽然发展迅速,但与国外的物流相比,还是远远不够的,但中国的市场大,还是很有发展前景的。

第2章相关技术介绍

2.1Java语言与JDK开发环境

Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群[1]。

JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行[2]。

2.2B/S结构

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行[5]。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[4]。

2.3Springboot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。

第3章系统分析

3.1可行性分析

本次设计基于B/S 模式下,运用Java技术采用的是MySQL数据库和MyEclipse实现,总体的可行性共分为以下三个方面。

3.1.1技术可行性分析

所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用Java技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非非之想。

3.1.2经济可行性分析

在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。

3.1.3操作可行性分析

本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以物流物流中心信息化管理系统具备操作可行性。

3.2功能需求分析

在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。

普通用户用例图如下所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_spring boot


管理员用例图如下所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_vue_02


物流物流中心信息化管理系统在对需求做解析后,整个系统主要分为两个部分:管理员和用户,每个模块下的分支功能不一样。对功能做出如下说明:

用户模块功能如下:

注册账号:用户填写个人信息,并验证手机号码。

登录:根据账号密码进行登录操作。

维护个人信息:用户因个人信息的变更可以随时修改自己注册信息。

新增、查询订单信息数据。

查询已支付订单的物流信息。

浏览公告信息数据。

浏览系统资讯信息。

管理员功能模块:
修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。
维护普通用户,审核普通用户的账号,可以冻结普通用户的登录权限,或者删除普通用户账号。
发布系统公告信息,维护公告信息数据。
发布资讯信息,维护资讯信息数据。
发布物品信息,对物品信息进行新增,删除和修改操作。
新增人员信息,对人员信息进行新增,删除和修改操作。
管理车辆信息数据。
管理订单信息。对订单状态进行更新。
维护订单的物流信息。

第4章系统设计

4.1系统架构设计

目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。物流物流中心信息化管理系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。

系统架构图如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_spring boot_03

图4-1系统架构图

4.2系统功能结构

系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:个人中心、物品信息、人员信息、车辆信息、订单信息、物流信息、公告信息、资讯信息、系统用户。系统整体角色分为两个部分,一是用户、二是管理员。权限分布也是很明显,用户用户是在除去浏览信息之外还具有查询和管理自己账户信息、订单信息、物流信息、公告信息、资讯信息等权限;管理员是最高权限拥有者。

系统功能结构图如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_毕设设计_04

4.3功能模块设计

用户管理模块
该模块是为所有用户登录设计的,如注册用户这种普通用户登录后只能进行自己的普通功能操作(如个人信息修改),管理员和超级管理员登录后有不同的权限,管理员不能超越权限。超级管理员能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。
物品信息维护模块
操作人来录入物品信息数据,点击物品信息录入按钮,依次填写要录入的物品数据,点击提交按钮,将数据提交至数据库,然后刷新物品数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
物流信息模块
物流公司给客户的货物订单进行物流,关系为一对多,根据货物编号来将货物数据传入到物流数据中,操作人为普通用户,然后生成物流列表,普通用户查看个人历史物流列表,可以进行数据销毁。
人员信息维护模块
操作人来录入人员信息数据,点击人员信息录入按钮,依次填写要录入的人员信息数据,点击提交按钮,将数据提交至数据库,然后刷新人员数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
车辆信息模块
操作人来录入车辆信息数据,点击车辆录入按钮,依次填写要录入的车辆数据,点击提交按钮,将数据提交至数据库,然后刷新车辆数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
公告维护模块
管理员点击公告管理菜单,点击公告添加子菜单,添加公告数据,填写标题、内容、类别、图片,提交成功后,公告数据页面刷新,新数据成功载入页面。
资讯维护模块
管理员点击公告管理菜单,点击公告添加子菜单,添加公告数据,填写标题、内容、类别、图片,提交成功后,公告数据页面刷新,新数据成功载入页面。

第5章系统实现

5.1注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_java_05


用户注册界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_java_06

5.2 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布道路作业信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_vue_07


用户登录界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_spring boot_08

5.3系统首页管理模块的实现

系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台

如下图所示为系统的首页界面。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_java_09

5.4用户子系统模块的实现

5.4.1个人信息模块

用户点击登录填写账号信息登录后,会切换内容为“某某用户欢迎您”和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在session作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过updatePassword()方法实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()方法实现。

密码修改流程图如下所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_毕设设计_10


个人信息修改界面如下所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_课程设计_11

5.4.2订单信息模块

用户添加订单信息,在Dingdan_list查看订单信息,点击新增,跳转至Dingdan_add.Java,添加订单信息记录则将添加的订单信息记录数据封装在HashMap中,然后调用CommDAO的insert方法将订单信息记录内容插入订单信息记录表中。

订单信息提交界面如图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_spring boot_12

5.4.3物流信息模块

用户查看物流信息管理,可以进行查询相应的订单物流信息管理操作。查找物流信息时,输入需要查找的物流信息名,调用getData方法获取所有数据并且进行分页,把获取到的所有数据显示到视图上,这时候只需要用脚本方法便能快速查找,不涉及对数据库操作。

物流信息查询界面如图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_课程设计_13

5.5管理员子系统模块的实现

5.5.1用户管理模块

用户在yhzhgl查看用户信息,先使用sql语句查询出所有用户表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用Java得到每个ArrayList对象的数据,在Java页面中解析ArrayList对象,得到其各个键值对的值。

用户管理界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_毕设设计_14

5.5.2公告信息模块

公告信息添加过程中,首先使用getmap(id,“xinxi”),通过公告信息ID得到公告信息数据,将公告信息数据赋值给公告信息管理,调用CommDAO的insert方法将公告数据插入公告信息表中,最后查看个人历史公告信息记录,可以销毁历史公告信息数据。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_java_15


公告信息管理界面如图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_vue_16

5.5.3资讯信息模块

资讯信息添加过程中。首先使用getmap(id,“xinxi”),通过资讯信息ID得到资讯信息数据,将资讯信息数据赋值给资讯信息管理,调用CommDAO的insert方法将资讯数据插入资讯信息表中,最后查看个人历史资讯信息记录,可以销毁历史资讯信息数据。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_vue_17


资讯信息管理界面如图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_vue_18

5.5.4物品信息管理模块

添加物品信息时,输入必填字段后,表现层的WupinController接受传过来的物品信息参数,再调用WupinController类的addWupin方法,经过WupinService业务层到WupinMapper持久层的处理,完成对整个添加物品信息的操作。addWupin方法也和用户管理中的addUser方法类似,同时做添加和修改工作。

修改物品信息时,选择需要修改的物品信息进行修改,调用WupinController控制器的editWupin方法,拿到该产品原本的信息并显示到页面,管理员再对需要修改的物品信息字段进行修改,完成后调用addWupin方法,调用业务层的updateByKey方法,更新数据库的物品信息表的数据。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_毕设设计_19


物品信息查询界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_课程设计_20

5.5.5人员信息管理模块

删除人员信息时,选择需要删除的人员信息进行删除,把主键的uId传到RenyuanController控制器,再调用控制器的deleteRenyuan方法,数据经过RenyuanService业务层解析和处理,请求RenyuanMapper持久层调用deleteByPrimaryKey方法操作数据库将人员信息数据从数据库中删除。

查找人员信息时,输入需要查找的人员信息名,调用getData方法获取所有数据并且进行分页,把获取到的所有数据显示到视图上,这时候只需要用脚本方法便能快速查找,不涉及对数据库操作。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_java_21


人员信息查询界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_毕设设计_22

5.5.6车辆信息管理模块

添加车辆信息时,输入必填字段后,表现层的CheliangController接受传过来的车辆信息参数,再调用CheliangController类的addCheliang方法,经过CheliangService业务层到CheliangMapper持久层的处理,完成对整个添加车辆信息的操作。addCheliang方法也和用户管理中的addUser方法类似,同时做添加和修改工作。

修改车辆信息时,选择需要修改的车辆信息进行修改,调用CheliangController控制器的editCheliang方法,拿到该车辆原本的信息并显示到页面,管理员再对需要修改的车辆信息字段进行修改,完成后调用addCheliang方法,调用业务层的updateByKey方法,更新数据库的车辆信息表的数据。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_毕设设计_23


车辆信息查询界面如下图所示。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_vue_24

5.5.7物流信息模块

管理员选择订单添加物流信息,用户在Wuliu_list查看物流信息。管理员添加物流信息则将添加的物流信息记录数据封装在HashMap中,然后调用CommDAO的insert方法将物流信息内容插入物流信息记录表中。

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_spring boot_25

文档截图

【万字文档+PPT+源码】基于springboot+vue物流配送系统-可用于毕设-课程设计-练手学习_spring boot_26