APP下载

基于Spring Boot的博客系统的设计与实现

2019-01-08鞠宏军林涛

电脑知识与技术 2019年33期
关键词:S模式

鞠宏军 林涛

摘要:该博客系统旨在为用户提供一个便捷的互动交流平台,主要的功能有:用户注册成为博主后可以对博客进行发表、查看,删除和编辑,可以对博客进行自定义分类。用户还可以对评论和点赞别人的博客;博客系统会根据用户发表博客的浏览量、点赞量和评论量进行最热排序,根据时间进行最新排序。用户可以在首页按照不同条件对博客进行检索以便快速找到自己需要的博客。后台管理员可以对已经注册的博主进行增删改查。总的来说,该博客系统在保留传统博客系统的功能的基础上,还加入了比较具有一些人性化的功能设计,目的是使用户对博客的操作更为方便。为了实现前后台分离,该系统采用了MVC的设计理念,将整个博客系统的后台的结构设计分为三层:分别为表示层、业务逻辑层和数据持久层。其中在编码过程中使用的SpringBoot和Hibernate框架可以大大地减少开发的难度。

关键词:博客系统;B/S模式;SpringBoot;Hibernate

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2019)33-0050-03

1背景

随着互联网的迅猛发展,我们进入了一个信息化的时代。通过研究现如今博客系统的市场需求以及博客在中国发展迅速这一现状后,提出了开发一个具有企业级特色的博客系统的思想。博客对于我们来说是一种全新的生活方式、新的交流和学习方式。它是继飞信、邮箱和ICQ之后出现的一种新的网络交流方式。博客在现实生活中主要体现在三个方面:它是一种新的交流方式,人们可以通过在博客下面评论来和别人交流自己不同的看法;它是以个人为中心的信息摘选,博主通过发表博客来记录自己平常的所见所得,还可以通过这个平台来展现个性的自我;三是以学习为中心的知识平台,博主可以在上面讨论关于科学文化知识,还可以遇见一群志同道合的人。正如我们所知,博客作为个人的一种使用工具,简单易用,面向大众。现如今,博客在文化教育方面也取得了很大的进步,它将互联网过去的一些功能进一步强化,使其更加具有个性化、实时化和全球化。如今博客已经成为继书本、课件、教育网站等教学模式后一种新的网络应用模式。它是根据时代的需求而兴起的工具,也是响应时代发展而不断进步的产物。

2系统需求分析

系统分析是一个项目在研究开发之前所要考虑的问题,需要解决其是否具有开发的价值以及满足用户的需求问题。制作可行性分析,从多方面研究思考开发项目的整个价值,看开发项目是否有必要开发。项目的开发是为了用户,所以按照用户的要求来做需求分析是很有必要的。博客系统的系统分析的主要任务是根据Blog系统的开发计划进行详细调查,为系统开发收集资料,然后编写系统方案说明书。其中系统需求分析侧重于重业务角度进行分析和对可行性研究。本博客系统旨在为广大互联网用户提供一个完美的移动交流平台,实现博主对博客进行增删改查、系统还对博客进行最新最热排序等功能,同时本系统还实现了博客内容及时更新的功能,系统在保留了传统博客系统的功能的基础的前提下,还添加上了一些比较人性化的界面风格设计,使没操作过该系统的人也能很快地上手该博客系统,即对博客的操作更为的方便。

在设计完美的博客系统的准备阶段,我们首先要确定Blog系统需要哪些功能,然后将这些功能做一个归纳。我们必须先研究和确定好博客系统的所需的功能,然后理解系统的功能要求,才能使后面的系统开发环节少走弯路。

3系统设计

3.1功能设计

从大体上考虑,博客系统是一个双用户、多功能和多界面的系统,主要包括以下几个功能模块组成:

3.2系统数据库组织与设计

根据系统功能需求的分析以及用户功能模块的设计,对于《基于Spring B00t的博客系统的设计和实现》的数据库设计,共有以下6张数据表:

4系统实现

根据以上分析和设计,系统开发采用目前较为流行的B/S模式,开发工具为eclipse,开发语言主要使用java,后台数据库采用mysql5.7。系统主要功能实现如下。

4.1用户管理模块详细设计

用户管理模块主要涉及博客系统的两类角色,一类是普通用户进入博客系统的时候,如果没有账号就要注册,注册后才能登陆,然后正常使用博客系统;另一类是管理员,系统内置一个管理员的账号,管理员可以进入后台管理界面,这个界面管理员可以对用户进行增加、修改、删除和新增,新增的角色还可以包括管理员和普通博主,具体效果如图2、图3。

4.2博客管理模块详细设计

博客管理模块的设计就涉及对博客的一些操作,比如,用户成为博主后,可以对自己的博客进行发表,发表博客的时候也就是编辑博客时用户可以设置自己的博客的标签,可以将博客进行分类,分类这一步是发表博客之前就必须做的,还可以在博客中上传图片等。具体效果如图4、图5。

4.3首页搜索模块详细设计

首页搜索模块的设计是对博客系统主页的一些功能按钮进行逻辑相关联设计,博客主页的最上面有着最热文章、最热文章和全文检索三个功能按钮,博客主页的右边有热门标签、热门用户、热门文章和最新发布四个功能按钮。其中涉及最新的功能点则是系统根据博客里的时间戳属性来排序,所有的检索功能块用到了ElasticSearch的搜索引擎。像有最热字样的功能按钮则是根据各自的統计数来排序,比如最热文章就是根据阅读量、评论量和点赞量来排序;热门标签是根据标签的使用次数来排序,热门用户是根据用户发表文章的多少来排序。具体效果如图6。

4.4分类管理模块详细设计

分类管理模块的设计是对博客进行分类,一方面博主可以方便地对博客进行管理,另一方面是可以方便地对博客进行查询。博主在编写博客之前必须先创建分类,不然的话就不能发表博客,博主可以对分类进行编辑、创建和删除。当博主编发表了很多博客后,在查找需要的博客的时候就可以按分类进行查询博客,具体效果如图7。

4.5评论模块详细设计

评论管理模块主要是关于用户在发表博客后互动的一个表现,博主可以对自己的博客进行评论,也可以对所有其他的博客进行评论,博主可以删除自己的评论,但是不可以删除别人的评论。注意,在评论发表之后就不能修改了,主要是要符合时效性,以免别人阅读评论时产生二义性。博客系统还对每篇博客的评论量进行了一个总体统计,这个数字的大小影响到最热博客的排序,也能让别人很直观地看出某篇博客的受欢迎程度。如图8。

4.6点赞模块详细设计

点赞管理模块的设计和评论管理实现的模块很像,但点赞模块更加的便捷,用户只需对自己喜欢的博客进行点击点赞的按钮就行,而不需要像评论一样写一些文字。用户在对别人的博客进行点赞后可以取消点赞,前提是已经点赞了,用户也可以对自己的博客进行点赞。博客系统还会对每篇博客的点赞量进行统计,目的也是为最热排序提供参考。如图9。

4.7标签模块详细设计

标签管理模块的设计和分类模块的设计逻辑很像,不过标签比分类更加的社会化,比如分类是个人对博客进行分类,可能不同的人发表不同的博客他们的分类之间没有什么联系,但是标签就不一样,它的特点就是随意化,一篇博客可能有一两个分类,但是可以有很多个标签。不同的博客之间可以根据标签来建立联系,当用户在博客首页对博客的标签进行搜索时,可以查出很多相关的博客,这比只根据分类来查找博客要全面的多。如图10。

5结束语

这个系统通过Spring Boot和Hibernate框架技术,基本完成了《基于SpringBoot的博客系统的设计与实现》的预期目标。像这个博客系统分成八个模块,但总的来说就三大模块:一是用户管理模块的功能基本实现,目前设计的用户类型只有两种有点少,以后需要增加更多有着不同权限的角色,前提是博客系统的功能点也要随之增多。二是博客管理整个大块,像对博客的一些操作和博客的一些属性在系统测试中都测试完结果和预期的一样。本系统的难度就是搜索模块的实现,因为用户要按照不同的条件来进行博客搜索,所以需要考虑很多指标,还有他们之间的关系,并且要另外启动Elastic Search搜索引擎才能实现按条件无误地检索出正确的结果。

猜你喜欢

S模式
基于B/S模式的数据结构实验平台设计