基于SpringBoot的网上商城设计与实现.doc
《基于SpringBoot的网上商城设计与实现.doc》由会员分享,可在线阅读,更多相关《基于SpringBoot的网上商城设计与实现.doc(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要该系统是基于SpringBoot的网上商城的系统,利用SpringBoot微服务框架的快速开发和对主流框架无配置集成的优点来快速实现灵活性高且扩展性强的购物系统,同时使用Dubbo这个分布式服务框架,使系统的各个层之间解耦合,利用提供者和消费者使整个系统不同模块负责不同的功能,更利于维护和保证系统的正常运行。该系统主要分为两部分,购物用户使用和后台管理员管理,两部分的模板引擎都是使用SpringBoot官方推荐的Thymeleaf,便于前后端联调。购物用户端的主要功能有用户注册,用户登录,搜索商品,收藏商品,购物车,个性化推荐等功能,其中注册功能使用MD5加密算法对用户的注册密码进行加密,
2、登录功能使用到Shiro安全框架来对登录的用户进行身份认证,搜索商品功能使用Solr搜索引擎来对商品进行搜索并且高亮显示搜索结果,使用基于用户的协同过滤算法来实现个性化推荐。后台管理员端页面是使用开源的前端框架layUI,这种简洁的页面为管理员操作带来许多方便,后台管理员端主要是对整个系统信息的维护。关键词: 微服务 分布式 身份认证 加密 搜索引擎 个性化推荐AbstractThis system is based on the SpringBoot online mall system, with the rapid development and SpringBoot micro ser
3、vice framework for mainstream framework configuration integration to quickly realize the advantages of high flexibility and extensibility is strong shopping system, at the same time use the Dubbo this distributed service framework, and make the system coupling between each layer solution, use differ
4、ent providers and consumers to make the whole system module is responsible for different functions, more conducive to maintain and ensure the normal operation of the system.The system is mainly divided into two parts, the shopping user and the background administrator management, the two parts of th
5、e template engine are using the official recommendation of SpringBoot Thymeleaf, easy to front and back end coordination. The main functions of the shopping client user registration, user login, search goods, collect goods, shopping cart, personalized recommendations, and other functions, including
6、registered function using MD5 encryption algorithm for the user password is encrypted, the login function to use Shiro security framework to the logged-in user identity authentication, to search commodity function using Solr search engine to search for goods and highlighting search results, use user
7、-based collaborative filtering algorithm to realize the personalized recommendations. Background administrator terminal page is the use of open source front-end framework layUI, this concise page for the administrator operation brings a lot of convenience, background administrator terminal is mainly
8、 the maintenance of the entire system information.Key words: microservice distributed identity authentication encryption search engine personalized recommendation广东东软学院本科毕业设计(论文)目 录1. 绪论11.1研究背景与意义11.2国内外发展现状11.2.1国外发展的现状11.2.2国内发展的现状11.2.3未来发展的启示12. 技术与开发工具22.1 前端技术22.1.1 LayUI22.1.2 BootStrap22.1.
9、3 Thymeleaf22.2 后端技术22.2.1 SpringBoot22.2.2 Dubbo22.2.3 ZooKeeper32.2.4 Redis32.2.5 Solr32.2.6 FastDFS32.2.7 Shiro32.3 项目架构32.4 开发环境52.4.1 软件环境52.4.2 硬件环境52.4.3 开发工具53. 系统分析63.1系统总体分析63.2系统功能性需求分析73.2.1系统用户功能性需求分析73.2.2系统管理者功能性需求分析93.3功能介绍113.3.1系统管理113.3.2业务功能113.4数据库概念设计143.4.1系统ER图143.5数据库配置信息143
10、.6数据库概念设计143.6.1数据库表结构143.7数据库逻辑设计214. 详细设计与实现234.1核心代码实现与流程图234.1.1登陆模块234.1.2购物车模块264.1.3全文检索模块334.1.4推荐模块374.2功能模块设计394.2.1管理员登陆模块394.2.2商品分类模块404.2.3商城头条模块434.2.4商城Banner管理模块434.2.5商品管理模块444.2.6快递公司管理模块464.2.7支付方式管理模块474.2.8用户管理模块474.2.9前台用户注册模块474.2.10前台用户登陆模块484.2.11前台用户个人中心模块494.2.12商品详情模块504
11、.2.13收货地址模块514.2.14收藏模块525.系统测试535.1系统功能性测试536. 结论与展望596.1总结与结论596.2未来展望59参考文献60致谢611. 绪论本章主要简单阐述该课题的研究背景和意义,网上商城在国内外的发展现状,并且就自己的观点提出网上商城的未来发展和启示。1.1研究背景与意义互联网的飞速发展为网上商城带来了无限的可能,这种足不出户便能轻易货比三家的网上购物方式越来越受到大众的喜爱,为了迎合市场的需要越来越多的网上商城不断优化自身不断探索用户的喜好来更方便地为客户服务。在大数据兴起越来越多用户注重产品使用体验购物过程的体验,这也就是本文研究的意义,网上商城不再
12、单单是购物更是考虑到了每个用户的个性给每个用户带来不一样的体验。1.2国内外发展现状1.2.1国外发展的现状在国外网上购物已经相对成熟,在电商发展初期因为国外已经有电商了国内才慢慢效仿,国外的网上购物同样是因为越来越受欢迎所以越来越完善。虽然欧盟的电子商务起步比美国晚但是其发展速度迅速,正因为网上购物愈演愈烈,欧美国家物流配送体系也迅速发展起来,可以说已经相当完善,往往购物当天或者第二天便能收到自己购买的物品。1.2.2国内发展的现状在国外有亚马逊、沃尔玛,在国内有淘宝、京东等,移动支付的到来更是促进了网上购物发展,在支付方便的同时政府部门更是加强了对假冒伪劣商品的监督管理,为人们营造诚信交易
13、的环境,让人们整个购物过程有所保障。1.2.3未来发展的启示综上所述,通过对比国内外的网上购物发展现状,可以看出网上购物会越来越人性化,整个购物过程也会越来越高效,网上购物商城的发展定会越来越好。2. 技术与开发工具2.1 前端技术2.1.1 LayUILayUI是开源的前端UI框架,界面简洁美观,因为遵循了原生的HTML/CSS/JS的书写模式,所以引用起来容易上手,并且这个UI框架提供了丰富的常用模块,只要遵循书写规则就能轻松使用,提高了不怎么懂前端的后端开发者的效率。在本系统中主要使用LayUI框架作为后端管理界面的主要成分,其中的表单渲染,分页和查询都已经有集成的模块,直接就可以使用。
14、2.1.2 BootStrapBootstrap是最受欢迎的前端框架之一,利用网格系统的实现原理,通过定义容器的大小就能制作出强大的响应式的网格系统,并且非常容易修改,上手快速。同时,官方也提供了丰富的组件通过相关文档就能上手组件的使用和修改。在本系统中的用户的相关页面使用到Bootstrap来提高前端页面的开发速度。2.1.3 ThymeleafThymeleaf是一个开箱即用的服务器端java模板引擎,使用它来代替JSP这样使得页面代码风格统一,java代码和前端代码绝对的分离,并且Thymeleaf渲染的模板页面能直接用浏览器打开显示,并不像JSP页面那样需要启动整个Web应用。2.2
15、后端技术2.2.1 SpringBootSpringBoot是目前Java开发中流行的一种微服务架构,提供了一种快速使用Spring的方式,通过SpringBoot构建的Maven项目,只需要在其中的pom文件添加相关依赖包就能直接通过注解方式使用相应的库,这样大量减少了配置文件的编写,让开发人员能够更专注于业务逻辑的开发当中去提高了开发效率,其中直接内嵌了Tomcat简化了项目部署的过程。2.2.2 DubboDubbo是现今开发分布式应用中使用频率较高的一个RPC框架,随着网站应用的规模不断扩大,常规的单服务架构和垂直应用架构已经无法应对,所以Dubbo作为一个治理系统运运而生。Dubbo
16、作为一个RPC架构它不仅能使界面和业务逻辑分离,允许在修改界面的时候不需要整个应用重新部署同时修改业务逻辑的时候也是,还可以将大量需要交互并且不在同一个服务器的应用关联起来,提高了协同开发的效率同时也为维护带来了极大的方便。2.2.3 ZooKeeperZooKeeper是Dubbo官方推荐使用的注册中心,ZooKeeper作为注册中心相当于为整个系统提供一个服务寻找的目录,所有服务需要发布的时候都会去到注册中心进行登记,注册中心相当于一个目录,当进行系统访问是需要进行api调用,此时是直接调用注册中心上的服务,这样一个服务提供者,注册中心,服务消费者的模式让系统有条不絮的正常运行。2.2.4
17、 RedisRedis是当前最热门的NoSql数据库之一,是一款完全开源免费并基于内存运行支持持久化的数据库。利用Redis的响应快的特性可以将一些常用的数据存到Redis里面作为缓存,提高互联网系统性能并且能减轻数据库的读取压力,作为缓存工具,它的高性能、高响应受到了很多开发者的青睐,磁盘读取速度和内存读取速度相比,无疑是选择后者。2.2.5 SolrSolr是一款分布式的全文检索引擎,它基于Lucene同时也在这基础上进行了拓展,对查询功能进行了优化,它的分词功能,高亮显示功能是数据库不能比及的。使用Solr进行搜索代替直接从数据库搜索不仅提高了查询速度,并且对结果的高亮展示也是非常人性化
18、的。Solr也相当于一个服务器只需要配置便能进行搜索服务,有效降低了数据库频繁访问的压力。2.2.6 FastDFSFastDFS是一款开源的轻量级的分布式文件上传系统,它一定程度上解决了大量中小文件的存储问题,因为FastDFS的网络通信采用的是socket所以它通信速度快,它充分考虑到了冗余备份、负载均衡的需求,一直遵循高可用、高性能的宗旨,所以在文件上传与下载的技术选择中首先会选择使用FastDFS。2.2.7 ShiroShiro是一款基于java的安全框架,使用Shiro来快速完成认证和用户授权,基于Shiro是一个独立的框架,能运行在Web应用和非Web应用和集群分布式应用中。2.
19、3 项目架构基于SpringBoot、Dubbo、ZooKeeper、Redis的项目架构,整个项目按照分布式思想建立,这样是为了后续系统的协同开发和后期维护带来尽可能的便捷。使用ZooKeeper作为注册中心为Dubbo的服务提供者和服务消费者服务,将业务服务模块进行拆分,在项目启动时便把相应的服务到注册中心进行注册,以便服务消费者后续的消费,其中利用Redis的缓存机制将用户信息和购物车信息进行缓存,减少与数据库的大流量交互,同时购物车还利用到Cookie实现用户不需要登录同样能添加商品到购物车,待用户登录时将Cookie中的商品信息合并到当前用户下,提高用户体验。图2-1 项目抽象架构图
20、2.4 开发环境2.4.1 软件环境序号名称版本备注1Windows10操作系统2CentOS7.3运行环境3MySQL5.6数据库4Redis3.2.6缓存数据库5Maven3.6.0管理工具6Dubbo2.5RPC框架7ZooKeeper3.4.14注册中心8Solr4.10.4搜索引擎9Shiro安全框架10Nginx1.8.1负载均衡11FastDFS5.05图片服务器12TomcatSpringBoot2.1.9内置TomcatWeb容器表2-1 软件详细表2.4.2 硬件环境表2-2 硬件信息表序号名称版本备注1DELL G316G内存+128G固态 2CPUi7-8750H2.4
21、.3 开发工具表2-3 开发工具信息表序号名称版本备注1JDK1.8工具包2IntelliJ IDEA2017.1.1编译器3Navicat11.1.12数据库客户端4Git2.16.2版本控制3. 系统分析3.1系统总体分析该系统分成两部分,管理员管理部分和用户部分,采用分布式架构,这两部分通过不同的端口区分不同的服务,其中接口作为服务提供者所以也是独立的一个服务。整个系统不管是管理员端还是用户端都采用Shiro安全框架对用户进行身份验证拦截。管理员是对整个系统进行管理,拥有最高权限,系统功能图如下图3-1 系统功能图图3-2 管理员用例图图3-3 用户用例图3.2系统功能性需求分析3.2.
22、1系统用户功能性需求分析 本章节主要对用户功能性需求进行详细的分析,明确系统中用户拥有的功能的意义和设计的原因。图3-4 用户功能概述图1.用户登陆功能在网上商城系统中用户属于整个系统的服务对象,用户登陆功能必不可少,提供用户登陆功能记录每个用户的购物习惯,同时也访问商家统计商品热卖情况,其实为后来的个性化推荐做了充分的准备,用户的登陆功能要确保每个用户购买的商品都是在自己的账号下,同收藏的商品也是属于个人的,给用户带来良好体验。登陆功能尽可能保护用户的安全,不让密码泄露和对每个登陆用户进行验证是否已经是注册的合法账号。2.用户注册功能用户在登陆之前必须先为自己注册一个属于个人的账号,注册功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SpringBoot 网上商城 设计 实现
限制150内