基于SSM三大框架整合的海田在线商城的设计与实现DesignandImplementationofHaitianOnlineShoppingMallBasedontheIntegrationofThreeFrameworksofSSM

DesignandImplementationofHaitianOnlineShoppingMallBasedontheIntegrationofThreeFrameworksofSSM

LiangfengZhang,YiminLin

CunjinCollege,GuangdongOceanUniversity,ZhanjiangGuangdong

Received:Dec.6th,2017;accepted:Dec.22nd,2017;published:Dec.29th,2017

ABSTRACT

Keywords:Spring,SpringMVC,MyBatis,OnlineShoppingMall

基于SSM三大框架整合的海田在线商城的设计与实现

张良峰,林益民

广东海洋大学寸金学院,广东湛江

收稿日期:2017年12月6日;录用日期:2017年12月22日;发布日期:2017年12月29日

摘要

伴随着区域经济一体化格局的逐步深化,区域与区域之间的经济交流更为密切,物流产业的发展直接催生不同地区之间一系列的商品交易,而湛江海田物流产业园区建设尚且处于一个逐步发展的传统阶段。我们应优化物流产业园的产业发展环境,引入现代信息技术实现资源与功能的集聚效应,实现海田物流产业园的转型升级,使之搭上“互联网+”的快车,让湛江海田物流产业园更加“智慧化”和“智能化”。本文研究使用面向对象编程的思想,通过UML建模结合功能思维导图,通过整合SSM三大框架,前后端分离开发,使用Spring、SpringMVC、MyBatis、Dubbo、SolrCloud、Redis、JSON等开发技术,完成了湛江海田在线商城的设计与实现。

关键词:Spring,SpringMVC,MyBatis,在线商城

ThisworkislicensedundertheCreativeCommonsAttributionInternationalLicense(CCBY).

1.绪论

1.1.课题的研究背景

湛江海田物流产业园是湛江市深入贯彻对赤坎的产业定位和实施“三产兴区”发展战略的创新举措,也是赤坎区发展第三产业和经济发展扩容提质的主要载体。

湛江海田物流产业园位于赤坎区东北部的海田片区,紧靠城市主干道,海、陆、空交通运输齐全、便利。目前,产业园内的商贸物流已具有相当规模,成为粤西最大的商贸物流聚集区,形成了建材、汽车、水产三大支柱产业等18个专业市场,拥有3700家各类大型商户,2015整个湛江海田物流产业园的年产值达110亿元人民币。经过充分的市场调研及与湛江市政府和海田物流产业园管委会的座谈,我们发现在当前“互联网+”概念的冲击下,湛江海田物流产业园的各类经营仍处于非常传统的商业运营,整个产业园综合管理效能不高,亟待产业的转型升级,尤其是要引入现代的互联网思维,实现线下向线上转型升级。

1.2.研究目的及意义

伴随着区域经济一体化格局的逐步深化,区域与区域之间的经济交流更为密切,物流产业的发展直接催生不同地区之间一系列的商品交易,而我国当前很多的物流产业园区建设尚且处于一个逐步发展的传统阶段。物流业的布局及物流成本的高低,很大程度上制约着现代商贸企业的发展。因此,我们应优化物流产业园的产业发展环境,引入现代信息技术实现资源与功能的集聚效应,实现传统物流业的转型升级,使之搭上“互联网+”的快车,让物流发展更加“智慧化”和“智能化”[1]。

本文的研究内容,使用面向对象编程的思想,通过UML建模[2]结合功能思维导图,基于SSM三大框架的整合思路[3]实现海田在线商城的设计与实现。

2.需求分析

软件需求分析是系统必须完成的事,以及必须具备的品质,具体来说,需求分析包括功能性需求、非功能性需求和设计约束三个方面。软件需求分析的准确性对于海田在线商城实现的质量有着决定性的作用,也是开发团队的指南针。本文的需求分析采用的是统一建模语言(UML)中的用例图来展示用户的需求,描述用户和系统如何协作的功能和非功能性需求。用思维导图来描述海田在线商城核心子系统的功能需求。

2.1.用户需求

用户的难题就是我们的课题。海田在线商城的实现旨在创建一个海田物流产业园区线上服务闭环,形成一个安全可靠、方便易用的多点互通的电子商务交易平台。实现大众客户、企业客户、会员可以在商城上搜索商品,浏览商品,交易商品等;供应商、厂商、零售商、品牌直营店可以在上平台发布商品、管理、售卖或者交易商品等;湛江海田物流产业园管委会、系统管理员等都能在平台上操作、管理的一个线上产业园平台,同时保证系统正常运行。

2.1.1.用户需求分析

在项目的初始阶段,举办了项目成员对于海田在线商城用户需求的讨论会,根据目前整个互联网的发展趋向,初步确定了以下几个方面。

1、功能齐全的商品展现平台和仓库管理系统;

2、灵活的订单处理机制;

3、支持多选的线上支付的功能及可选快递服务(特殊商品同城配送服务);

5、基于平台各类数据的分析为普通用户提供商铺推荐;

6、完善的管理功能,按照不同性质的用户进行权限分配;

7、开放的平台投资窗口。

2.1.2.用例图

用例定义了参与者与海田在线商城平台之间的关系,用户需求由系统来完成实现,前端系统则主要针对大众用户和会员用户,后台系统则对系统管理员和商城后台操作员开放。

2.2.功能需求

2.2.1.功能架构图

思维导图是一种将思维形象化的方法。思维导图在海田在线商城的开发中能引导整个项目的开发不偏离方向。

Figure1.Usecasediagramofforegroundsystem

Figure2.Usecasediagramofbackgroundsystem

Figure3.FunctionalarchitecturediagramofHaitianOnlinestore

Figure4.Themindmapofstoresystem

Figure5.Themindmapofstoresetting

3.海田在线商城的设计与实现

3.1.开发技术

3.1.1.Dubbo分布式解决多用户高并发问题

海田在线商城的开发过程中存在这种情况,服务提供方(Provider)发布服务以后,服务消费方(Consumer)发出一次调用请求,恰好这次由于网络问题调用失败,虽然可以采用重试这种策略,但是存在发布服务所在节点出现故障无法提供服务。所以我们搭建Dubbo集群解决了多用户同时访问网站某一个服务容易发生冲突的问题,在出现节点故障无法提供服务的时候,通过调用其它服务节点来解决,这就提高了服务的可用性。

3.1.2.Solr集群实现商品快速搜索

Solr是基于Lucene的全文搜索服务器,同时对其进行了扩展,提供了比Lucene更为丰富的查询语言同时实现了可配置、可扩展并且优化了查询性能。SolrCloud是Solr提供的分布式搜索方案,原理是由多台Solr服务器集中部署,共同来完成搜索和所索引库的任务。使用Solr集群的方式能更好的解决海田在线商城的多用户高并发、海量数据的搜索需求。

搭建Solr集群主要用途是降低单机的处理压力,将海田商城的搜索服务项目切换到这个集群,商城

Figure6.Themindmapofcommoditysystem

Figure7.Themindmapofordersystem

Figure8.ThemindmapofWMS

Figure9.FunctionalarchitecturediagramofHaitianOnlinestore

Figure10.DubboArchitecture1

3.1.3.Redis提升数据访问速度

Redis即为RemoteDictionaryServer(远程数据服务)的缩写是一个开源的,支持网络、可基于内存亦可持久化的日志型、Key-Value的Nosql数据库,并提供java等多种语言的API。

3.2.SSM框架的研究

SSM框架整合即为Spring、SpringMVC、MyBatis三个开源框架的整合。商城主要是采用Spring(4.2.4.RELEASE),MyBatis(3.2.8)进行SSM整合。

3.2.1.Spring框架

Spring是一个开放源代码、轻量级的Java开发框架。通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。在这里举个例子来说明IoC的核心思想,支付宝在整个淘宝体系里就是庞大的IoC容器,交易双方之外的第三方,提供可靠性可依赖可灵活变更交易方的资源管理中心。我们在设计商城的时候:先设计商家,然后根据商家设计商品,接着根据商品设计买家,最后根据买家设计仓储。这里就出现了一个“依赖”关系:商品依赖商家,买家依赖商品,商品依赖库存。商品、买家、卖家、仓储之间的资源不由使用资源的双方管理,而由不使用资源的第三方即Spring的IoC容器来管理,这可以带来很多好处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。这样以后我们在对商品、卖家、买家、仓储的服务上增加或者增强功能模块的时候就不必要在商品、买家、卖家、仓储每个服务去修改,提高了后期维护的效率。

Spring还有一个很重要的特性,就是可以方便集成各种优秀的框架。海田在线商城主要集成了Dubbo服务框架、Redis缓存服务、Solr搜索服务、ActiveMQ消息队列服务。Spring集成海田商城要用到的第三方框架后,就可以通过简单的配置调用第三方框架提供的API,实现商城的业务服务。具体整合及特性如下:

这样就可以把商品服务注册到服务中心,当要使用这些商品服务的web程序,如商城主页,就可以透明化的远程方法调用,就像调用本地方法一样调用远程方法。

2)在商城的系统服务层整合了用来做缓存的Redis缓存库和用来提供搜索服务的Solr集群,使得整个系统数据库的负载大大降低,提高运行速度。数据库则整合了MyBatis,下面详述。

3)Spring系统中我们还内嵌了ActiveMQ,ActiveMQ是强劲的消息总线,不论是在海田商城分布式开发过程中还是在运维上都扮演着重要的角色,ActiveMQ的特点主要是,可以建立网络通信的通道,进行数据的可靠传送。在传输中保证了数据传输的完整性,而且能够跨平台传输。

3.2.2.SpringMVC

SpringMVC属于Spring框架的衍生模块,SpringMVC通过DispatcherServlet这个前端控制器(也叫中央调度器,笔者认为中央调度器更能体现其作用),来调用MVC的三大件:Controller、Model、View。这样就保证MVC的每一个组件只与DispatcherServlet耦合,而彼此之间独立运行,大大降低了程序的耦合性。使得海天商城的设计复合程序的开发之道,高内聚底耦合的设计原则。

3.2.3.MyBatis的选用

MyBatis是集合多种操作型关系数据库的概念和方法,它是一个强大的数据访问工具和解决方法[5]。对比Hibernate,MyBatis是一个半自动框架,Hibernate则是一个全自动框架,无法直接维护SQL。MyBatis在书写SQL的灵活性很好,Hibernate就不行,会比较麻烦。本文使用MyBatis作为海田在线商城这种多变性的项目,Hibernate比较适合稳定的项目。而且MyBatis速度相对于Hibernate的速度要快些。

3.3.功能页面结构实现

3.3.1.前端系统架的搭建

3.3.2.前端页面的实现

Figure11.Functionalarchitecturediagramofforegroundsystem

Figure12.PC-sidepagestructure

Figure13.SmartmobilephonePageStructure

Table1.Datasheetlistsummary

Figure14.Datatablefielddesign

3.4.数据库设计

4.结束语

本文对于海田在线商城的设计进行了初步实现,采用Spring、SpringMVC和MyBatis框架为基础,Spring作为整个系统的控制中心,这样可以使得系统在整合上更符合程序的设计之道,降低了整个海田商城系统的复杂度。Dubbo、Redis、SolrCloud技术的引入能够解决在线商城的海量数据、多用户高并发的问题,在移动互联网不断更新的时代里能够更好的兼容和内嵌新技术框架。一个好的平台需要不断的完善和改进,其中包括了问题的解决,例如本项目在开发中解决js跨域访问的问题应使用jsonp、跨站请求伪造(CSRF攻击)的解决方法为设置验证码验证,增加Token验证等[6]。这种基于SSM三大框架整合开发企业型的商城还是很受用的,分布式开发能够灵活的分布和部署移动端或者PC的服务器。对于商城的后续完善还有待进一步研究。

基金项目

2017年“攀登计划”广东大学生科技创新培育专项资金资助(项目编号:pdjh2017b0983)。

THE END
1.基于SSM框架的通用电子问卷调查系统设计与实现然而,目前已有的电子问卷调查大部分都是针对某一特定的调查内容或者某一特定的调查群体进行设计的,问卷内容变换不灵活,缺乏通用性。给电子问卷调查使用者带来了许多不便。本论文结合实际课题,研究设计基于SSM(Spring+SpringMVC+MyBatis)框架的通用电子问卷调查系统,以便调查者根据实际调查内容需要,灵活变换问卷内容。论文...http://lib.gsdx.gov.cn/asset/detail/0/20431076586
2.各种JavaWeb课程设计(题目+答案)系统设计与实现机试各种Java Web课程设计(题目+答案)系统设计与实现-机试题目:网上银行系统题目:奥运门票改签系统题目:汽车摇奖系统等等。。。 A.实现语言 Java B.环境要求 JDK.6、Eclipse、Tomcat5.5.*.SQL Server2005 JavaWeb课程设计 系统设计与实现 机试 SQL Server 2020-01-01 上传 大小:12.00MB 所...https://www.iteye.com/resource/zxt1484675627-12072182
3.基于SSM框架的后台权限管理系统基于SSM框架简单的后台管理系统,整合spring + springmvc + shiro + mybatis + esayui。包含许多基础模块(用户管理、角色管理、菜单管理、角色权限管理、用户角色管理、日志管理、数据库监控)。 2. 项目演示 2.1 登录 使用md5加密,shiro权限校验 登录页面 https://www.jianshu.com/p/43b007b2973e
1.7清华教育在线系列软件https://etcnew.sdut.edu.cn/meol/common/script/preview/download_preview.jsp?fileid=2195930&resid=1458160&lid=67254&preview=preview
2.基于SSM框架的网上商城系统的设计与实现基于SSM框架的网上商城系统的设计与实现 赵浩翔 开通知网号 【摘要】: 近年来,信息科技发展迅猛,信息化的革命渗透了各个行业。以网上购物为例,它极大的改变了人们的生活方式。随着购物方式的转变,网上商城的需求越来越复杂化,用户量和访问量的激增对网上商城系统带来了极大的考验。传统的架构模式难以满足现状,系统的...https://cdmd.cnki.com.cn/Article/CDMD-10013-1019044580.htm
3.基于SSM框架的网上商城购物系统的设计与实现(开源项目——实现CRUD功...基于SSM框架的网上商城购物系统的设计与实现(开源项目——实现CRUD功能整体流程超详细) 提示:此项目仅作为本博主的学习笔记记录,不作为商品售卖,文中某个方法或单词或许会因为马虎写错,但本文重点讲的是思路,资源可找博主私聊 文章目录 前言 MVC的请求和响应...https://blog.csdn.net/rej177/article/details/125396886
4.2022届电计系软件工程专业优秀毕业设计作品新闻资讯9.基于SSM的个性化音乐推荐系统的设计与实现(2018软件工程-汪马凯) 1)作品简要介绍 本推荐系统实现了一个通过用户对音乐的一些行为数据进行分析,然后对用户进行推荐的个性化音乐推荐系统。推荐系统后端使用通过SSM框架技术进行搭建前端使用Bootstrap框架进行界面设计,而推荐算法则选用基于用户的协同过滤技术。这个音乐网站最终...https://dxx.cdutetc.cn/c/d5d74123-d540-4db4-9d5a-99adad3dd4f0.html
5.基于SSM的网上购物系统的设计与开发毕业论文+开题报告+设计源码+...本论文主要对网上购物商城的设计与开发进行了一些论述,包括了系统的设计和实现一共两个大部分,设计部分主要对系统和数据库的分析与设计进行了描述;实现部分主要包括系统的各个功能的实现。 网上购物商城包括两大模块:前台用户模块和后台管理员模块,前台用户可以通过浏览器客户端页面进行登陆和一系列的购物操作。后台管理员...https://blog.51cto.com/u_15162069/2899823
6.库存管理系统uml4-进销存管理系统的设计与实现-springboot 5-超市积分管理系统-jsp 6-基于JSP的网上购书系统-ssh 7-基于SSH的婴幼儿产品销售系统的开发与设计 8-基于WEB的网上购物系统的设计与实现-ssh源码 9-网上手机销售系统-jsp 10-Java网上体育商城的设计与实现-ssh ...https://www.zboao.com/cgal/9126.html
7.Django基于PythonWeb的Django框架设计实现天天生鲜系统右上角的 "我的购物车" 数据展示. 页面主体部分的各个分类产品数据展示. 每个分类我们选出了最新添加的4个商品数据展示. 页面展示效果如图1所示: 图1 2 商品分类展示页面 该页面的数据展示分为两部分: 右上角的购物车商品数据展示. 主体部分依据分类展示不同分类所有的商品数据, 并能够实现数据分页显示. ...https://cloud.tencent.com/developer/article/1860057
8.代码货栈基于JSP实现的医院住院管理系统 立即获取 查看详情 JSP项目 源码+数据库 基于JSP和MySQL的网上订餐管理系统的设计与实现 立即获取 查看详情 JSP项目 源码+数据库 基于JSP和MySQL实现的网上商城系统 立即获取 查看详情 JSP项目 源码+数据库 基于JSP和SQL ...https://cs-work.com/
9.Java实现茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)java这篇文章主要介绍了基于SSM框架实现的一个茶叶售卖商城系统,应用到的技术有Jsp、SSM 、EasyUi,文中的示例代码具有一定的学习价值,需要的朋友可以参考一下+ 目录 前言 这是一个应用SSM框架的项目,前端页面整洁清晰。该系统有两个角色,一个是普通用户,另一个是管理员。 普通用户具有注册、登录、查看商品、添加购物车...https://www.jb51.net/article/231619.htm
10....网上支付评价提问公益活动公益论坛商城论坛等系统...猫宁Morning公益商城系统 但行好事,莫问前程。(基于SSM框架的公益B2C网上商城的设计与实现) 项目背景 据相关统计,2015年有2.7亿网友通过阿里系平台(不含支付宝)参与公益30亿次,累计产生捐赠1.9亿元。淘宝公益突破了传统的公益模式,开创了适合企业自身的公益道路,以“授人以渔”的方式将公益与自身商业模式捆绑销售,...https://gitee.com/morning-pro/Morning
11.SSM模型(精选七篇)2) xmgl-csr-service, 业务层,处理业务接口与实现相关模块; 3) xmgl-csr-web, 表示层,web设计与逻辑控制相关模块。 3 结束语 文章结合高校项目管理的特点,提出采用Strut2、Spring、Mybatis三者整合框架SSM的设计思想,设计并实现了高校项目管理系统。根据项目实际开发过程与结果,SSM框架很少的降低了项目开发的耦合度...https://www.360wenmi.com/f/cnkey2h6d6uz.html