SpringBoot与微服务:网上租赁系统的现代化构建

摘 要

本课题是根据用户的需要以及网络的优势建立的一个基于Spring Boot的网上租贸系统,来满足用户网络商品租赁的需求。

本网上租贸系统应用Java技术,MYSQL数据库存储数据,基于Spring Boot框架开发。在网站的整个开发过程中,首先对系统进行了需求分析,设计出系统的主要功能模块,其次对网站进行总体规划和详细设计,最后对基于Spring Boot的网上租贸系统进行了系统测试,包括测试概述,测试方法,测试方案等,并对测试结果进行了分析和总结,进而得出系统的不足及需要改进的地方,为以后的系统维护和扩展提供了方便。

本系统布局合理、色彩搭配和谐、框架结构设计清晰,具有操作简单,界面清晰,管理方便,功能完善等优势,有很高的使用价值。

关键词:Spring Boot框架;网上租贸;MYSQL数据库;Java技术

Abstract

This subject is based on the needs of users and the advantages of the network to establish an online trading system based on Spring Boot to meet the needs of users for online product leasing.

This online rental trading system uses Java technology, MYSQL database stores data, and is developed based on the Spring Boot framework. During the entire development process of the website, firstly, the system was analyzed for requirements, and the main functional modules of the system were designed. Secondly, the overall planning and detailed design of the website were carried out. Finally, the Spring Boot-based online rental trade system was systematically tested, including Test overview, test methods, test plans, etc., and analyze and summarize the test results, and then draw out the shortcomings of the system and the areas that need improvement, which provide convenience for future system maintenance and expansion.

The system has the advantages of reasonable layout, harmonious color matching, clear frame structure design, simple operation, clear interface, convenient management, and complete functions, and has high use value.

Key words: Spring Boot framework; online rental trade; MYSQL database; Java technology

目 录

摘 要 I

Abstract II

目 录 III

第1章 绪论 1

1.1 课题背景 1

1.2 设计原则 1

1.3 研究内容 2

第2章 关键技术简介 3

2.1 Java技术 3

2.2 Spring Boot框架 3

2.3 B/S结构 3

2.4 MYSQL数据库 4

第3章 系统分析 5

3.1 可行性分析 5

3.1.1 技术可行性 5

3.1.2 经济可行性 5

3.1.3 操作可行性 5

3.1.4 时间可行性 5

3.2 系统功能分析 6

3.3 系统性能分析 8

3.4 系统流程分析 8

3.4.1注册流程 8

3.4.2登录流程 9

第4章 系统设计 10

4.1 系统结构设计 10

4.2系统顺序图 10

4.2.1登录模块顺序图 10

4.2.2添加信息模块顺序图 11

4.3 数据库设计 12

4.3.1 数据库E-R图设计 12

4.3.2数据库表设计 14

第5章 系统的实现 18

5.1 用户功能模块的实现 18

5.1.1用户注册界面 18

5.1.2用户登录界面 18

5.1.3个人信息界面 19

5.1.4商品详情界面 20

5.1.5购物车界面 20

5.1.6订单信息界面 21

5.1.7发货订单界面 21

5.2 管理员功能模块的实现 22

5.2.1管理员登录界面 22

5.2.2商家管理界面 23

5.2.3用户管理界面 23

5.2.4商品分类管理界面 24

5.3 商家功能模块的实现 24

5.3.1商品信息管理界面 24

5.3.2订单信息管理界面 25

第6章 系统测试 26

6.1 程序测试 26

6.2 测试方案计划 26

6.3 测试方法 27

6.4 测试分析 27

第7章 总结 28

参考文献 29

致 谢 30

第1章 绪论

1.1 课题背景

网络交易(Electronic Commerce):是指实现整个贸易过程中各阶段的贸易活动的电子化。网络交易是一种多技术的集合体。其业务可包括:信息交换、售后服务、销售、电子支付、运输、组建虚拟企业、公司和贸易伙伴可以共同拥有和运营的商业方法等。网络交易的整个贸易活动都可以实现自动化和电子化。网络交易应用系统的工作实质是对信息进行收集、处理、加工分析,形成各种商务应用数据库,并将信息流转换为物流和资金流的过程。

现在的时代科技飞速地发展,网络交易已经深入大众的生活。互联网技术更是明显的提高,电脑已经走进千家万户。对于人们使用互联网进行网络交易已经逐渐深入人心,人们对于网络交易的信任度也比以往大幅提高,网络交易的份额正在逐年加大,网络交易的直观、有效、便捷等优点是传统的交易模式无法比拟的,因此,现在应抓住这个时机,在这个领域占有一席之地。

由上可见,要建立好一个网上租贸系统,需要对大量的信息进行处理和分析,对于了解和掌握数据库系统的理论和实际应用都有很大的帮助。同时,网络交易在当前社会是一种很热门的商业活动,正在以人们无法想象的速度在全球范围内飞快地成长着。网上交易能有效的提高商品交易效率。本次开发的网上租贸系统即满足了用户网络查看租赁/购买所需商品的需求,又提高了商家的营业额,符合当今电子商务和互联网快速发展的潮流。

1.2 设计原则

在开始开发项目之前,必须要先考虑项目的实用性、科学性,以及该项目是否能够真正让用户受益并尽可能的发挥项目的作用。因此,在开发前,通过以下几条原则对项目进行判断:

(1)可行性原则。项目需要保证经济可行性和技术可行性,这包括了项目在浏览端、服务端等方面上的经济和技术上是可以达成的。

(2)适应性原则。项目要保证可维护性和可扩展性,这是每个非短期项目都需要考虑的,并且不论是维护还是扩展,都必须要建立在适应用户的正常需求的基础上。

(3)安全性及保密性原则。要充分保证用户信息的安全性和保密性,不能因为开发上的疏忽,导致用户的信息泄露。

(4)系统工程原则。为了确保项目的整体性,在项目调查、项目分析、项目设计、项目开发的过程中,都需遵从项目工程的方法和步骤逐步进行。

(5)统一规划、分期实施、逐步完善原则。项目开发的过程中,要按照规划、分期实施,特别是要注意在项目开发过程中要有条理,从点到面,一步步完善,不要贪图进度,要循环渐进的对项目进行开发。

1.3 研究内容

根据基于Spring Boot的网上租贸系统编写的论文主要阐述了基于Spring Boot的网上租贸系统的开发过程中使用的技术,系统开发前进行的需求分析,根据需求文档进行系统设计,最后才是系统功能实现以及测试几个部分,在开始编写论文之前亲自到图书馆借阅Java书籍,MYSQL数据库书籍等编程书籍,然后针对开发的基于Spring Boot的网上租贸系统,去网上查找了很多别人做好的系统,根据他们的功能设计进行自己的系统的系统功能结构设计,出具需求报告,根据形成的需求报告完成系统各个功能模块设计,最后才是进行程序编码,系统完成后才能进行测试和最后的验收工作,程序开发流程大致如此。

这次编写的论文包含了7个部分的内容,具体内容如下:

第一部分绪论:文章主要从课题背景以及设计原则综合阐述了开发此系统的必要性。

第二部分相关技术:系统开发用到的各种技术都大致做出了简介

第三部分系统分析:从可行性分析和功能需求分析等角度综合研究了此次开发的系统

第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示

第五部分系统实现:进行系统主要功能模块的界面展示

第六部分系统测试:检验程序是否达到预期目标

第七部分总结:进行最后的总结工作

第2章 关键技术简介

2.1 Java技术

Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任何地方都可以运行。除此之外,它还拥有简单的语法和实用的类库,让编程人员可以尽可能将精力集中在问题的求解上,并且许多开源项目和科研成果都是采用它实现的。

在1995年这一年的5月份,著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言------Java,最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导,但是在后来由于各种原因,让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java[16]。Java的平台总共算下来有3个,分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。

(1)在电脑桌面程序的开发上面需要选择JavaME,这个用得也比较多。

(2)企业也会根据工作以及业务需要开发各种软件,那么就会选用JavcEE这个支持企业版软件的开发的Java平台,JavcEE主攻运用在企业领域上面的web应用,JavcEE也在javaSE的基础上获得了比如jsp技术 ,Servlet技术等程序开发技术的支持。

(3)现在生活中手机的普及化,也使得手机端这样的移动设备的软件的兴起,JavaME这个迷你版java平台就能运用于移动端的软件开发操作。

2.2 Spring Boot框架

Spring Boot是Spring+自动配置的结合,减少了Spring繁琐的配置问题和开发的时间。其中不仅仅优化了XML,且在Spring Boot的内部还集成了Tomcat。

Spring Data Jpa是一套规范,在没有实现类的接口时候是没有办法使用的。他对现有的映射起到了规范的作用。在开发产品的时候我们依旧使用ORM映射框架对JPA接口进行开发。这样我们就可以在不更改代码的情况下使用其他的ORM框架。来做到低耦合、可扩展的特点。

2.3 B/S结构

此次设计的网络结构模式B/S结构(Browser/Server)。B/S架构也称为B/S模式,是一种服务器以及浏览器架构模式。B/S的工作模式都是先由浏览器请求,服务器再响应。B/S体系结构解决了异构系统中的连接难题,大大改善了系统的开放性,让系统的扩展和维护更加简单;同时,B/S体系结构操作也比较容易,界面全都为浏览器模式,容易分发数据的捕获程序。只要安装通用的浏览器(如WWW浏览器)就能通过Web服务器与数据库进行数据交互。此结构的好处之一在于由于它使用的统一的浏览器,使其可以在不同的地方且不需要用专门的软件进行操作,实现了不论你使用怎样的接入网的方式都可以对公共的数据进行调用和浏览。

相对于C/S模式,B/S模式是对C/S模式应用的扩展,B/S模式不用对不同的计算机安装不同应用程序,还有安全性的要求及对模式上手难度都比前者更好。B/S模式可以让客户机的压力大大减轻,工作的负荷被合理的分配了。

B/S三层框架结构图如图2-1所示:

图2-1 B/S三层框架结构图

2.4 MYSQL数据库

MySQL 是关系型数据库管理系统的代表, 因为MySQL是其免费开源的,而且MySQL的功能已经足够用对于学习和中小型企业来讲,所以开发中小型网站都会选择MySQL作为网站的数据库。[13]

MySQL具有开放性,它是一种关系型数据库管理系统,并且它的源代码可以被大众所熟知[3]。由于MySQL是开放源代码的,因此,只要经过授权就可以在自己需求的基础上对其进行修改。MySQL因为其固有的特点而备受关注,它具有很强的适应性,并且十分可靠,查询速度快。MySQL安装起来非常方便,且数据存储量大,不需要事务化处理。Sql语言拥有很多的方法,在项目中编写sql语句时使用起来是非常方便的,不会像其他语言那样需要编写更多的语句。正因为MySQL使用sql语言进行数据库管理,所以它收到了大多数程序员的热爱。

第3章 系统分析

3.1 可行性分析

在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。

3.1.1 技术可行性

本基于Spring Boot的网上租贸系统采用Java和MYSQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。

3.1.2 经济可行性

由于自己本身就是学生,还没有正式参加工作,金钱上面一直都处于缺乏状态。所以在开发程序过程中,我是不会花太多经济成本在上面的。针对开发软件和数据库,还有界面设计的photoshop软件等在百度上面就可以直接下载,然后根据各种安装视频进行安装,这些资源都是免费的,程序编码阶段使用的源代码在百度上面可以轻松获得,在有网络的环境下就能下载下来,不需要支付任何费用,经济成本很低。

3.1.3 操作可行性

本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。本基于Spring Boot的网上租贸系统本身具有操作可行性,其界面设计清晰、功能权限分配合理,操作简单,不同用户登录后可对进行相应功能模块的操作,具有极高的操作可行性。

3.1.4 时间可行性

从时间上看,在三个月的时间里学习相关知识,开发本基于Spring Boot的网上租贸系统,时间上是有点紧,但是不是不可能实现,在做毕业设计的这几个月里,我通过努力使得功能应该基本可以实现。

综上所述,我们进行了四个方面的可行性研究,可以看出,该基于Spring Boot的网上租贸系统的开发是没有问题的。

3.2 系统功能分析

本基于Spring Boot的网上租贸系统主要满足三种用户的需求,这三种用户分别为管理员、商家和用户,下面将对这三种用户分别实现的功能进行详细的阐述。

(1)用户:用户在系统前台可查看系统信息,包括首页、商品信息等,注册登录后主要功能模块包括购物车、个人中心、我的地址、订单信息管理、发货订单管理、租借订单管理、完成订单管理以及我的收藏管理,用例图如图3-1所示。

图3-1 用户用例图

(2)管理员:管理员登录后可对系统进行全面的管理,主要功能模块包括个人中心、用户管理、商家管理、商品信息管理、商品分类管理、订单信息管理、发货订单管理、租借订单管理、完成订单管理、系统管理以及订单管理。管理员用例图如图3-2所示。

图3-2 管理员用例图图

(3)商家:商家注册登录后主要功能模块包括个人中心、商品信息管理、订单信息管理。发货订单管理、租借订单管理、完成订单管理以及订单管理。商家用例图如图3-3所示。

图3-3 商家用例图

3.3 系统性能分析

(1)系统的存储性:因为是网上租贸系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。

(2)系统的易学性:系统设计的应该简单易学的,设计的各种功能应该简单操作,不需要努力学习培训,缩短用户熟悉系统的进程。

(3)系统的数据要求:数据应该录入准确,需要更新时,数据应该可以及时的修改,数据还应该有独立保存,不能删除数据的时候会连带着把还需要的数据都删除掉。

(4)系统稳定性:开发的基于Spring Boot的网上租贸系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

(5)系统可靠性:系统不可以有病毒类代码,必须有拦截器,验证方法,对里面信息的保护措施,这样才让人用的放心。

3.4 系统流程分析

3.4.1注册流程

未有账号的用户可进行注册操作,在注册时系统会判断用户名是否已存在,已存在的话,提示返回重新填写用户名,用户名不存在,填写其他注册信息,系统判断注册信息是否正确,正确则在数据库中添加用户信息,注册成功。用户注册流程图如图3-4所示。

图3-4注册流程图

3.4.2登录流程

登录模块主要满足了用户、商家以及管理员的权限登录,用户登录流程图如图3-5所示

图3-5登录流程图

相关推荐
编程洪同学34 分钟前
Spring Boot 中实现自定义注解记录接口日志功能
android·java·spring boot·后端
GraduationDesign1 小时前
基于SpringBoot的蜗牛兼职网的设计与实现
java·spring boot·后端
颜淡慕潇1 小时前
【K8S问题系列 | 20 】K8S如何删除异常对象(Pod、Namespace、PV、PVC)
后端·云原生·容器·kubernetes
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS安康旅游网站(JAVA毕业设计)
java·vue.js·spring boot·后端·kafka·开源·旅游
搬码后生仔3 小时前
将 ASP.NET Core 应用程序的日志保存到 D 盘的文件中 (如 Serilog)
后端·asp.net
Suwg2093 小时前
《手写Mybatis渐进式源码实践》实践笔记(第七章 SQL执行器的创建和使用)
java·数据库·笔记·后端·sql·mybatis·模板方法模式
凡人的AI工具箱4 小时前
每天40分玩转Django:Django文件上传
开发语言·数据库·后端·python·django
spcodhu4 小时前
在 Ubuntu 上搭建 MinIO 服务器
linux·后端·minio
小码编匠4 小时前
2024 年各编程语言运行百万并发任务需多少内存?
java·后端·python
小码编匠4 小时前
C# 实现多线程启动停止暂停继续
后端·c#·.net