springboot基于Android的跳蚤市场
摘 要
伴随着我国社会的发展,人民生活质量日益提高。互联网逐步进入千家万户,改变传统的管理方式,以互联网为基础,利用java技术,结合Spring Boot框架和MySQL数据库开发设计一套跳蚤市场,提高工作效率的同时,减轻管理者工作方面的压力,使他们能够将更多精力投入到市场上,更好的完成用户的核心业务。
本论文将对跳蚤市场相关的技术以及系统开发技术进行分析和研究,在深入了解跳蚤市场管理的过程以及合格要求后,结合管理员和用户的实际情况,研究跳蚤市场的设计与实现,期望通过该系统能够将管理员和用户的数据管理工作规范化、简单化,从而提高管理工作的效率。本论文的主要内容包括:
第一,研究分析java技术,结合管理员和用户日常管理方式和安排,进行跳蚤市场信息的数据库设计和系统功能,并对每个模块进行说明。
第二,陈列说明该系统实现所采用的架构、系统搭建采用的服务器、系统开发环境和使用的工具,以及系统后台采用的数据库。
最后,对系统进行全面测试,主要包括功能测试、查询性能测试、安全性能测试。分析系统存在的不足以及将来改进的方向。
关键词:跳蚤市场;java;MySQL数据库
。
1需求分析
在这一章中将对本论文要实现的跳蚤市场进行详尽的需求分析,本章内容主要涵盖了对系统预期应用环境的分析,对系统功能和性能需求的分析,最后还有对系统的非功能性需求以及业务流程的分析。这一章的内容将为之后的系统设计和实现提供可靠依据,是系统完整可靠实现的重要保障。
3.1可行性分析
3.1.1经济可行性分析
本系统所需要用到的所以的工具都是开源,不收费的,并且本系统因为不具有太过于复杂的结构,用户维护系统的费用也不高。所以,本系统的经济可行性是可行的。
3.1.2技术可行性分析
该论文中跳蚤市场将被实现为采用 B/S架构,主要使用java语言进行系统后端开发,同时选用MySQL作为持久层交互的数据库,系统同时使用Spring Boot框架,使开发过程能够变得高效简便。这里采用的MVC 三层架构,将业务逻辑、数据存取、界面显示分离开的程序开发模式,使用这种模式进行开发、组织代码,可以将所有的业务逻辑整合到一个实体类中,这样的话在有新需求提出或者某个需求需要进行变更的时候,不需要大量的修改程序,只需要找到对应的功能模块进行修改,这极大地方便了程序的维护,提高了程序的可扩展性。
3.2系统需求分析
3.2.1功能需求
本论文中实现的跳蚤市场将以用户核心的日常信息维护工作为主,主要涵盖了系统首页、个人中心、用户管理、商品分类管理、商品信息管理、订单信息管理、求购信息管理、联系信息管理、回复信息管理、通知信息管理、系统管理等功能,采用该跳蚤市场将满足管理员和用户日常管理工作的基本需求。本系统与管理员和用户操作的全过程相契合,从管理员和用户登录开始录入系统,然后记录跳蚤市场信息,从而让管理员和用户对系统的管理都能够清晰规范,相应信息的检索和维护简单高效,进而提高用户整体工作的效率。系统用户用例如下:

图3-1管理员用例图

图3-2 用户用例图
3.2.2 性能需求
(1)故障率低
低故障率对跳蚤市场十分重要,如果故障率较高,将会给用户的日常工作和服务带来很大不便。所以系统的实现要尽可能的保证更低的故障率,以保障系统的平稳。
因此,除了保证使用系统的硬件较为可靠外,在程序的设计上,我们需要增加一些预防性功能,比如当系统中的某些功能出现故障时,提供预防措施,例如给出错误信息告知用户然后结束该功能,否则的话可能因为一个功能的故障导致整个系统瘫痪。
(2)界面友好
跳蚤市场设计的目的在于帮助用户能够更加高效轻松地进行日常的管理工作,所以作为一个工具,该系统应该被设计得易于上手使用,整个系统界面需要简洁明了、清晰易懂,而且一定要为用户提供必要的提示信息,比如在登录时用户密码或者用户名输入错误时要给予提示。总之一定要从使用者的角度出发,去设计用户操作界面。
3.2.3 安全性需求
首先要保证服务器不受攻击,数据库不能曝露在互联中。对使用系统的不同用户赋予相应的权限,用户只能进行自己权限允许范围内的操作。数据库中进行多用户管理,对用户的敏感信息如身份证信息,只有最高权限的数据库管理员用户可查询,其他用户无权限查看。
3.3系统流程的分析
3.3.1 系统操作流程
系统操作流程如图3-3所示:

图3-3系统操作流程图
3.3.2 登录流程
登录流程如图3-4所示:

图3-4 登录流程
3.3.3个人中心管理流程
个人中心管理流程如图3-5所示:

图3-5 个人中心管理流程
3.4本章小结
在本章中对本论文要实现的跳蚤市场需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。
2系统设计
通过前三章的分析说明,本论文中跳蚤市场已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
4.1系统结构设计
随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的跳蚤市场也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层,并且在表现层采用MVC设计模型。
采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前端也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。
同时,该系统采用的B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。
以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。
4.2系统功能模块设计
跳蚤市场的使用者主要有两类用户,一类是管理员,他拥有整个系统的最高权限,然后是用户,只能对自己的个人信息进行操作。系统根据这两类用户,划分出了两大功能模块。
4.2.1管理员模块
管理员用户具有整个系统的最高权限,可以使用系统中的所有功能模块,包括查看所有跳蚤市场信息,并对这些数据进行管理。在用户模块中可以将新的信息录入系统,还可以查询,删除和编辑权限内的信息。在系统维护管理中可以对用户登录信息、用户权限进行管理。
4.2.2用户模块
用户的功能模块中主要涵盖:可以根据需要和实际情况修改自己的个人信息,可以对我的收藏管理等功能进行管理。
4.3系统功能结构设计图
以上所涉及到的有关的功能,都是用功能结构图来简洁和清晰的表示出来,功能结构图就是能够把比较复杂的功能结构用图的形式清晰的描绘下来,并且为后续的设计以及测试等模块提供了明确的方向,在构思功能结构图的时候,便可以给设计的过程带来一定的思维导向,不至于在设计过程中有所遗漏,可以尽可能的明确系统所涉及到的功能。
以上所涉及到相关的功能以简洁清晰的方式来表示的,将复杂的结构以图形的形式画清楚,并且为后续的设计和测试模块提供了明确的方向,在构思功能结构图的时候,可以给设计过程带来一定的思维导向,在设计过程中不至于遗漏。可以尽可能明确系统所涉及的功能。
系统的总体功能结构图如图4-1所示。

图 4-1系统总体结构图
4.4数据库设计
数据库对所有信息管理系统来说都十分重要,因为系统中的核心功能大多都依赖于数据库,所以数据库的设计将对系统的性能和功能实现起到重要作用。该系统内总共有两类对象,分别是管理员和用户,数据库设计将根据这些用户的属性来实现,同时,建立表的结构以及表与表之间的关系。
4.4.1 概念模型设计
数据库在程序的设计中扮演了重要的角色,它将系统涉及的数据全部容纳其中,在数据库设计时,为了能够明确思路,清晰明了一般都是先构建E-R图,ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1)用户实体属性图如4-2所示

图4-2用户实体图
(2)商品信息实体属性图如图4-3所示。

图4-3商品信息实体图
(3)求购信息实体属性图如图4-4所示。

图4-4求购信息实体图
4.4.2 数据库表结构
本论文中的跳蚤市场采用MySQL数据库,系统中的所有对象以及对象的所有属性都将在下列表格中展现。
表4-1:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP
表4-2:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP
表4-3:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值
表4-4:通知信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
yonghuxingming varchar 200 用户姓名
tongzhibiaoti varchar 200 通知标题
tongzhifengmian longtext 4294967295 通知封面
tongzhishijian datetime 通知时间
tongzhineirong longtext 4294967295 通知内容
表4-5:收藏表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
refid bigint 商品id
tablename varchar 200 表名
name varchar 200 名称
picture longtext 4294967295 图片
type varchar 200 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) 1
inteltype varchar 200 推荐类型
remark varchar 200 备注
表4-6:商品信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 卖家账号
yonghuxingming varchar 200 卖家姓名
lianxifangshi varchar 200 联系方式
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
shangpinpinpai varchar 200 商品品牌
shangpinguige varchar 200 商品规格
shangpinjiage float 商品价格
shangpinshuliang int 商品数量
xinjiuchengdu varchar 200 新旧程度
shangpintupian longtext 4294967295 商品图片
shangjiariqi date 上架日期
shangpinjieshao longtext 4294967295 商品介绍
clicktime datetime 最近点击时间
clicknum int 点击次数 0
表4-7:商品分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
shangpinfenlei varchar 200 商品分类
表4-8:求购信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 求购人账号
yonghuxingming varchar 200 求购人姓名
shoujihao varchar 200 手机号
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
tupian longtext 4294967295 图片
xuqiushuliang int 需求数量
jieshoujiage float 接受价格
qiugouyixiang varchar 200 求购意向
yaoqiuxiangqing longtext 4294967295 要求详情
clicktime datetime 最近点击时间
clicknum int 点击次数 0
表4-9:公告信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容
表4-10:联系信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 求购人账号
yonghuxingming varchar 200 求购人姓名
shoujihao varchar 200 手机号
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
tupian longtext 4294967295 图片
xuqiushuliang int 需求数量
jieshoujiage float 接受价格
lianxirenzhanghao varchar 200 联系人账号
lianxirenxingming varchar 200 联系人姓名
lianxishijian datetime 联系时间
lianxineirong longtext 4294967295 联系内容
表4-11:回复信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 求购人账号
yonghuxingming varchar 200 求购人姓名
shoujihao varchar 200 手机号
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
tupian longtext 4294967295 图片
xuqiushuliang int 需求数量
jieshoujiage float 接受价格
lianxirenzhanghao varchar 200 联系人账号
lianxirenxingming varchar 200 联系人姓名
huifushijian datetime 回复时间
huifuneirong longtext 4294967295 回复内容
表4-12:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 用户账号
mima varchar 200 密码
yonghuxingming varchar 200 用户姓名
xingbie varchar 200 性别
nianling varchar 200 年龄
youxiang varchar 200 邮箱
shoujihao varchar 200 手机号
shenfenzheng varchar 200 身份证
touxiang longtext 4294967295 头像
表4-13:订单信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
yonghuzhanghao varchar 200 卖家账号
yonghuxingming varchar 200 卖家姓名
lianxifangshi varchar 200 联系方式
shangpinmingcheng varchar 200 商品名称
shangpinfenlei varchar 200 商品分类
shangpinpinpai varchar 200 商品品牌
shangpinguige varchar 200 商品规格
xinjiuchengdu varchar 200 新旧程度
shangpintupian longtext 4294967295 商品图片
shangpinjiage float 商品价格
shangpinshuliang int 购买数量
zongfeiyong float 总费用
goumaishijian date 购买时间
goumaibeizhu varchar 200 购买备注
goumairenzhanghao varchar 200 购买人账号
goumairenxingming varchar 200 购买人姓名
shoujihao varchar 200 手机号
ispay varchar 200 是否支付 未支付
4.5本章小结
本章主要是对管理员和用户管理信息进行系统设计,详细的说明了该系统实现所采用的架构、系统中所有的功能模块,并以表格的形式展现了系统持久层中的所有实体和实体的所有属性。明确的功能说明和详尽的数据陈列,方便将系统业务和数据联系起来,为后面的程序开发提供方便。
3 系统实现
5.1 前台功能的实现
5.1.1 登录注册界面的实现
首先双击打开跳蚤市场,连上网络之后会显示出本系统的登录界面,这是进入跳蚤市场的第初始页面“登录”,能成功进入到该登录界面则代表跳蚤市场的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。登录界面如图5-1所示。

图5-1 登录界面
第一次使用跳蚤市场的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用跳蚤市场所提供的所有功能。注册界面如图5-2所示。

图5-2 注册界面
5.1.2 首页功能的实现
首页是用户注册登录后进入的第一个界面,用户可通过跳蚤市场首页的最下面的那一行导航栏进入到相应的网页进行操作;首页界面如图5-3所示。

图5-3首页界面图
商品信息:在商品信息界面的输入栏中输入商品名称进行搜索,可以查看到商品名称、商品分类、商品品牌、新旧程度、卖家账号、卖家姓名、联系方式、商品规格、商品价格、商品数量、上架日期、点击次数等详细信息,并进行查看商品介绍、购买等操作。商品信息详情如图5-4所示。

图5-4商品信息详情界面图
求购信息:在求购信息界面的输入栏中输入商品名称进行搜索,可以查看到商品名称、商品分类、求购人账号、求购人姓名、手机号、需求数量、接受价格、求购意向、点击次数等详细信息,并进行查看要求详情、联系等操作。求购信息详情如图5-5所示。

图5-5求购信息详情界面图
