1. 背景
随着经济全球化和电子商务的发展,快递业务量也逐年攀升。传统的人工处理操作复杂且耗时,并且可能会出现价格不统一、资料不完整等问题,已经不能满足人们的需求。
2. 技术实现
2.1 SSM
SSM框架,是Spring+SpringMVC+MyBaits的缩写。Spring实现业务对象管理,Spring MVC负责请求的转发和视图管理,Mybatis作为数据对象的持久化引擎。SSM框架是目前比较主流的Java EE企业级框架之一。
Spring是一个开源、轻量级的Java开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring的用途不仅局限于服务端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中收益。简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
SpringMVC是一个基于MVC的Web框架,其中C是Controller的缩写,是控制器,用来接收用户请求,调用Model处理,然后选择合适的View给客户;M是Model的缩写,是业务处理模型,接受Controller的调遣,处理业务和数据;V是View的缩写,视图,返回给客户看的结果。SpringMVC是在Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
MyBatis是一个基于Java的持久层框架。MyBatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。可以这么理解,MyBatis是一个用来帮你管理数据增删改查的框架,它让数据库底层操作变得透明。
2.2 VUE
Vue是一套构建用户界面的渐进式框架,是目前最火的三大主流前端框架之一。
Vue自身不是一个全能框架,它只聚焦在视图层,如果熟悉HTML、JavaScript知识,学习Vue就会更加容易。Vue很容易上手,拥有配套的第三方类库,可以和其它库或者项目融合,使用非常方便。目前市场上比较流行的前后端分离的开发模式,大多前端页面都是Vue.js做的。
2.3 Shiro安全框架
Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。
Shiro框架可以帮助我们验证用户身份;可以对用户访问进行控制,比如用户是否被赋予了某个角色;是否允许访问某些资源等等。
3.功能实现
3.1 注册登录
实现了管理员,司机和顾客三种角色的登录注册功能,示例图如下所示。
3.2 顾客下单
顾客需要填写包裹的类型,体积等,然后可以根据需求选择合适车辆。示例如下图所示。
3.3 司机接单
司机可以在订单列表中接单,也可以在地图中接单,示例如下图所示
3.4 订单评价
在订单完成之后,顾客可以对完成的订单进行评价,示例如下图所示。
3.5 考勤管理
司机每天需要进行签到和签退,完成考勤管理工作。示例如下图所示。
4.小结
在本篇文章中,只着重介绍了几个核心功能,本物流系统的业务功能基本符合实际需求。在下篇文章中将基于该物流系统实现数据仓库的一些简单的指标建设。