基于Spring Boot的前后端分离的电子商务网站的设计与实现.doc
《基于Spring Boot的前后端分离的电子商务网站的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Spring Boot的前后端分离的电子商务网站的设计与实现.doc(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、摘要随着信息技术的飞快发展,各个产业中无不渗透着信息化革命,人们的生活习惯也因互联网的迅猛发展受到了改变,正如网上购物,网购的盛行使许多人对搭建电子商务平台趋之若鹜,因此,一个能快速上线且功能完备的产品便将拔得头筹抢占先机。本课题目的是为了实现一个易维护、易开发、简洁易用、用户体验良好的在线电子商务网站。提供了注册登录、商品搜索浏览购买以及后台管理等功能、是基于Spring Boot框架所开发的一个前后端分离的系统。论文分析了电子商务网站的背景以及如今的在市场上的可行性及价值星,同时在技术上分析了前后端分离架构对于电子商务网站的必要性及优势,并且基于现实意义对网站进行了系统的需求分析,最终确定
2、了该网站的功能性需求及非功能性需求,紧接着便是系统的整体架构设计以及数据库的设计,最终展示了主要模块的详细实现过程以及相关测试工作,并分析了完成该系统的时的收获以及完成后的不足之处。关键词:前后端分离 电子商务 Spring BootAbstractWith the rapid development of information technology, all industries are permeated with the information revolution, and peoples living habits are also changed by the rapid dev
3、elopment of the Internet. Just like online shopping, the popularity of online shopping makes many people rush to build e-commerce platform. Therefore, a product that can quickly go online and has complete functions will take the lead.This paper analyzes the necessity and advantages of front-end and
4、back-end separation architecture for e-commerce website, aiming to design an e-commerce website with high maintainability, good user experience, convenient operation and high development efficiency. Then it analyzes and designs the requirements of e-commerce website, and finally designs a fully func
5、tional e-commerce website developed by spring boot, a development framework based on Java EE.Keywords: Separation of frontend and Backend E-Commerce Spring Boot目录第一章 绪论11.1 项目的开发背景11.2 项目的开发目的11.3 项目的开发意义21.4 项目的设计思路2第二章 相关技术分析42.1 MVC设计模式介绍42.2 Spring框架介绍52.3 SpringMVC介绍52.4 Spring Boot介绍62.5 Sprin
6、g data jpa介绍62.6 MySQL数据库介绍62.7 Redis介绍72.8 ElasticSearch介绍72.9 本章小结8第三章 系统需求分析93.1 可行性分析93.2 系统用户分析93.3 功能需求分析103.3.1 功能需求的系统结构图123.4 非功能需求分析12第四章 系统的总体设计与实现144.1 系统的层次结构设计144.2 部分子系统功能模块的设计与实现154.2.1 后台系统功能模块的设计与实现154.2.2 后台系统功能模块的设计与实现164.3 本章小结19第五章 系统的数据库的设计205.1 系统的数据库设计205.1.1 表与表的ER图设计205.1.
7、2 数据库表的设计205.2 本章小结22第六章 系统测试236.1 系统测试的意义与目的236.2 系统测试的方法236.3 系统部分子功能模块的测试246.4 本章小结24结论25参考文献26致谢27广东东软学院本科毕业设计(论文)第一章 绪论1.1 项目的开发背景电子商务的横空出世改变了我们一贯的商务模式,电子商务模式具有着传统商务模式难以企及的优势。随着互联网的高速发展,电子商务也日新月盛,人们在网上购买商品已经是非常平常的事情,电商网站正是其中的核心1。首先,消费者通过网上购物,挣脱了多重外在因素例如时间、空间等束缚2。同时对比起传统商务模式,电子商务模式突破了地域的限制,从面向某个
8、小地区发展到通过互联网面向世界各地。最后,电子商务模式更是节省了大量的人力资源,企业的管理成本更是能进一步的优化。B2C(Bussiness-to-Customer,企业到用户),作为电子商务的经典模式,广泛运用在电子商务的各个层面3。它类似于点对点模式,销售商可直接服务于消费者,去除了许多冗余环节。B2C不仅大大提升了消费者的体验,同时提供了对服务方的便利。据估计到2020年,全球的网络购物成交额或将超过4万亿美元4。而2019年时双十一活动的火爆程度令人咂舌,短短几十秒的时间交易额已经突破了10亿,紧接着不到两分钟又突破了100亿的成交额,直到当天0点之前,总体成交额已经到达了2684亿元
9、,这个数据甚至已经超过了全球几十个国家全年的GDP总值。从这个数据也可以看出,如今的交易模式已经随着互联网而发生了巨大的改变,也意味着电商大势的到来。1.2 项目的开发目的电商网站作为电子商务模式的核心。如何高效、快速地开发网站,成为企业的制胜关键5。以往的开发方式,如jsp + servlet等开发技术,前后端代码的耦合度过高,前端和后端的分工并不明确,这意味着往往前后端的工作是杂糅进行的,这也使得代码的可读性较差,同时也带来了开发效率低下等问题,针对以上痛点,前后端分离的架构应运而生。前后端分离是一种架构设计而非一种具体的技术,这种架构的出现,不仅使得前后端工作解耦,同时也使得代码逻辑不再
10、混乱更加清晰即提高了代码可读性。而当今电子商务的快速迭代也使得其业务需求变化不断地改变,而前后端分离的架构能更好地适应不断变化的需求,具有更加良好的扩展性和适应性,同时Spring Boot这种开发框架更是完美契合了该架构,结合双方的优势便可针对到电子商务企业的关键点,高效、快速地开发一个完备的电子商务网站。1.3 项目的开发意义电子商务如今在全球范围内的火爆程度肉眼可见,国内的的巨头有如淘宝、京东、拼多多等,而国外则有亚马逊之类的平台,可以说电子商务蕴藏着巨大的宝藏但是在市场上的竞争也是相当激烈的,而国内许多商家也开始选择从线下模式转为线上模式运营,因此也可以看出电子商务这块蛋糕虽然庞大但是
11、想要分一块蛋糕的人也很多。而在国内而言,想要加入电商这一行分得一杯羹,无非有这几种选择,一种是寄托于大型的流量平台如淘宝、京东、拼多多这些平台。这种方式好处显而易见,第三方平台的平台稳定,流量也巨大,同时有这些知名企业背书,可以说是一种有安全保障也具有发展潜力的一种方式,但是如今较大型的电商平台竞争激烈,同时其成本如各种费用也逐渐提高,同时由于入驻商家较多,产品在平台的搜索权重也需要花很大心思去提高。第二种则是寄托于社交平台如百度贴吧、微博、QQ或者微信朋友圈等渠道进行宣传销售,通过社交打广告的方式进行宣传,这种方式好处也明显,首先是无需为平台缴纳多于费用,只需要做好宣传即可。也即是所谓的微商
12、,但是随着法律的完善,如今这种方式逐渐被限制,同时因为这种微商模式销售的产品质量参差不齐,也使得许多路人对这些微商有一种莫名的抵触感,所以微商被限制封号也是经常发生的事另外一种方式则是选择自建平台,将主力业务放到自己的电子商务网站来进行销售,这种方式虽然需要一定的开发和维护的成本,但是好处却也显而易见,首先是无第三方介入,主动权掌握在自己手上,用户与商家点对点进行交易,其次便是可以根据销售情况和用户的反馈及时调整平台以及业务。而用户是具有用户黏度的,所以及时上线一个符合市场需求的稳定的并能根据市场需求不断进行快速的迭代更新的电子商务网站优势巨大。因此,一个功能完备,可扩展性强,开发效率高且开发
13、成本低廉的电商网站对于企业抢占市场先机,增强用户粘性的重要性无须赘述。1.4 项目的设计思路本系统根据电子商务网站的特点,结合中小型企业的业务特点,设计了该系统的主要架构。首先,由于如今电子商务的竞争较大,因此该系统的开发成本需要做到开发周期短,开发成本低廉。只有如此才能抢占市场取得先机,因此在整体架构上,采用了前后端分离+RESTful的架构设计,这是一种极其适合团队开发的架构设计,可使得团队开发速度大大提升。同时为了避免踩坑,前端技术栈选择了业内热门的Vue框架进行开发。后端则是以Java语言进行编码,并基于现下流行的Spring Boot + Spring data jpa两大javaE
14、E开发框架开发而成,并且选择了开源且免费的Tomcat作为服务器。这两种框架是极为出名的轻量级开发框架,能完美契合快速开发、开发成本低廉这一需求。最后,根据电子商务网站并发量高的特点,又选用了开源且免费的mysql作为项目数据库,并且结合redis这种优秀的nosql数据库作为缓存。最后根据电子商务网站产品的特点,结合了ElasticSearch作为搜索服务器。第二章 相关技术分析本章节重点介绍了开发一个电子商务网站所使用到的设计模式及相关技术。主要介绍和分析了Spring家族的几大框架:Spring框架、Spring Boot框架、Spirng data jpa框架、SpringMVC框架。
15、同时介绍了MySQL数据库,最后介绍了一些强大的中间件Redis、ElasticSearch。2.1 MVC设计模式介绍MVC是一种常用且使用的设计模式,M是model的缩写,表示模型层,V则是view的缩写,表示为展示或者视图层,c则是control的缩写,代表着控制层。图2.1 MVC模式图模型代表着数据,视图代表网页,控制器则是负责将不同的数据呈现在不同的视图上。MVC设计模式主要是为了解耦以及提高代码的复用性,将业务逻辑区分开,主要作用:(1) 控制器Controller:控制器即是控制请求的处理逻辑,对请求进行处理,负责请 求转发和重定向;(2) 视图View:视图即是用户看到并与之
16、交互的界面,比如HTML(静态资源),JSP(动态资源)等等。(3) 模型Model:模型代表着一种企业规范,就是业务流程/状态的处理以及业务规则的规定。业务流程的处理过程对其他层来说是不透明的,模型接受的请求,并返回最终的处理结果。业务模型的设计可以说是MVC的核心。MVC模式具有着许多方面的优势,如:耦合性低、重用性高、生命周期成本低、部署快、可维护性高、有利于软件工程化管理等等优势。是现下较为流行的一种设计模式。2.2 Spring框架介绍Spring是一款基于IOC(Inversion Of Control,控制翻转)和DI(Dependency Inject,依赖注入)的javaEE
17、轻量级的开发框架,旨在提高开发人员的开发效率以及系统的可维护性。一般来说,我们常说的Spring是指Spring Framework,这是一个多模块的集合,有如下几个重要模块:(1) Spring Core:基础模块,Spring的其他功能都需要依赖于该库(2) Spring Aspects:提供了与Aspects集成支持(3) Spirng JDBC:java的数据库连接(4) Spring JMS:消息服务(5) Spring ORM:支持如Mybatis,Hibernate等ORM工具(6) Spring WEB:提供了Web应用程序的支持(7) Spring AOP:提供了面向切面编程
18、功能(8) Spring test:提供了诸如JUnit等测试的支持Spring为开发Java应用程序提供了全面的基础架构支持,可以让开发者专注于应用程序的开发。在Spring家族中,就有着基于MVC思想设计而成的Spring MVC和Spring WebFlux Web框架。简而言之,Spring框架是当今开发javaEE应用级程序最大的流行框架,其具有的特性提高了开发者的开发效率,开发者只需专注于业务逻辑而无需去烦恼底层的设计。 2.3 SpringMVC介绍SpringMVC是一款使用了Java语言,基于MVC设计模式所开发而成的轻量级的用于Web开发的框架,是Spring家族中的一大成
19、员。同类框架还有诸如Struts,Struts2,Spring WebFlux等框架。由于其本身便是Spring框架的一部分,这使得其配置与搭建极其便捷,SpringMVC是现下最为流行的一款Web框架。以下是SpringMVC的主要组件:(1) DispatcherServlet:前端控制器,该组件负责接收及分发请求。前端控制器将请求进行分工,并且分发给其他部件。(2) HandlerMapping:处理器映射器,可根据前端控制器转发而来的请求来找找Handel(处理器)。(3) HandelAdapter:处理器适配器,负责执行处理器并返回结果给前端控制器。(4) Handler:控制器,
20、该组件负责处理用户的请求。(5) ViewResolver:视图解析器,可解析从处理器处理后的请求,一般处理器解析后的请求返回结果会是一个逻辑视图,视图解析器便解析该逻辑视图并且生成具体的视图对象。(6) View:视图,由前端人员实现,该页面对用户显示。2.4 Spring Boot介绍在使用Spring等框架时,往往需要进行大量的配置工作,这些配置工作极其繁琐,稍有不慎全盘皆崩,但是这些配置行为并非是目的而只是手段,那么如何简化或省略这些步骤,使得开发者只需要关注业务功能呢?Spring Boot便是解决这些问题的这样一个框架。Spring Boot框架基本上是Spring框架的扩展,它简
21、略或省略掉了Spring应用程序所需要的配置,能更快更高效地开发应用程序。其有以下一些特点:(1) 内嵌了Tomcat,Jetty Undertow,无需自行部署(2) 提供了pom简化Maven的配置(3) 尽可能地自动配置Spring应用Spring Boot秉承着开箱即用的原则,集成了大量常用的第三方库,配置极少,使得开发者能够专注于业务逻辑,使用Spring Boot项目引导页面可以在极短时间内便构建一个项目,同时支持常用的IDE如:Intellij Idea、NetBeans、Eclipse。Spring Boot的这些特点非常契合电商网站如今追求的快速开发。2.5 Spring d
22、ata jpa介绍Spring data jpa是spring提供的一套简化JPA开发的ORM(Object Relational Mapping,对象关系映射)框架,按照约定的方法命名规则编写DAO层接口,就可以在不实现接口的情况下实现对数据库的访问和操作,同时也支持分页、排序、复杂查询等等功能,其底层由Hibernate实现。2.6 MySQL数据库介绍MySQL是一款开源的关系型数据库管理系统,SQL查询语言被它所支持,也就保证了数据的多种多样的查询方式4。MySQL中的My并非中文释义“我的”,而是指其创始人Michael Widenius的女儿My Widenius。MySQL体积小
23、,速度较快,支持大型的数据库,可处理千万级别的数据量,对于许多中小型企业来说是首选的数据库管理系统。2.7 Redis介绍随着访问量的激增,传统的关系型数据库已经不足以应对大量的请求与访问,当访问量超过一定阈值时,会给数据库带来极大的压力,使得网站的相应能力大幅下降,严重时更可能造成严重宕机带来极大的损失,因此便需要借助缓存技术来进行优化。缓存是指将数据存储与内存之中,并进行相关的备份,系统读取缓存的速度远大于读取磁盘的速度,因此选择一些不发生变化或变动性少且读取较多的数据存于内存之中,每当需要读取时不走数据库而是直接走缓存,这样一来即可提高系统的响应速度和运行速度,又减少了对主数据库的读取操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Spring Boot的前后端分离的电子商务网站的设计与实现 基于 Spring Boot 后端 分离 电子商务 网站 设计 实现
限制150内