《基于Spring Boot框架的个人博客系统设计与实现》6700字(论文)_第1页
《基于Spring Boot框架的个人博客系统设计与实现》6700字(论文)_第2页
《基于Spring Boot框架的个人博客系统设计与实现》6700字(论文)_第3页
《基于Spring Boot框架的个人博客系统设计与实现》6700字(论文)_第4页
《基于Spring Boot框架的个人博客系统设计与实现》6700字(论文)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SpringBoot框架的个人博客系统设计与实现摘要 绪论1.绪论1.1研究背景线上功能的发展是互联网技术发展的体现,高效便民是科技发展的主流方向,其中网络信息技术的发展同样改变着人们的生活。博客平台作为一种新行的信息传播模式广受青睐,随之衍生而来的网络学习论坛,各式各样的学习交流平台接踵而至。个人博客的出现使得管理员可以更加便捷的分享学习经验以供浏览者阅览并回复解答访客所提出的问题与建议,彼此间进行沟通与学习。这种学习模式有效的弥补了线下学习的不足,并大大提高了效率,具有一定的社交功能。博客系统应用广泛,同时是作为一个展示自我的平台。本文主要探讨基于SpringBoot,thymeleaf等技术实现的个人博客系统。1.2国内外研究现状博客一词源于英文Blogger的音译,是由WebLog一词混成而来。网络日记为它的正式名称。博客是指使用其限定的部分软件,张贴,发布和出版个人文章于网络的平台,或为一种通常由个人自主管理、发布新的文章的网站。“博客”于2000年前后兴起于美国,是一种新兴的网络交流方式,现已被大家广泛使用,博客作为网络时代的个人的个性展示平台,它代表着新的学习工作以及生活方式。虚拟学术社区的合作中跨学科合作情况相较于传统学术交流载体中的跨学科合作更为广泛[1]。博客作为一种新新型的网络应用模式,常作为课件资源库、信息化教学系统、应用于教育主题等网站。博客是一个顺应时代发展的产物,同样也在作为一个不断学习和发展的论坛[2]。博客是近十年来互联网发展下的产物,国内博客的发展相较于国外而言有着一定的滞后性。在中国,博客真正意义上的流行是在2005年以后。随着时间的变迁,博客已然成为社交网络媒体的一个重要组成部分,其中在国内比较著名的有新浪等博客。博客的出现对传统的信息传播模式带来了不小的冲击与改变,其对于话语权的配置和重构,使普通民众拥有了自由发布信息的权利[3],人与人之间的对话方式也逐渐出现新的模式。内容以文字为主的博客占大多数,但仍有少许博客专注在乐曲、摄影、影像、美术、vlog等多种主题,博客是个能够满足人们展示自我内心需求的一个平台,同样也是新时代的人们交流沟通的平台之一。1.3研究意义信息技术的发展逐渐影响到社会生活的各个层面,传统的数据传播方式也面临着变化。通过博客,人们可以开放和自由地表达自己的观念见解。在信息化的时代面对着爆炸性的数据,如何找到自己想要的信息是个问题,复杂冗余的数据往往给人一种碎片化的感觉,获取信息的过程变得同样低效,如此难免会大大降低了用户的使用体验。目前,搜索的主流方式是用户通过搜索引擎搜索内容的关键词,并在整个互联网上执行模糊查询。网络信息量巨大,通过搜索获取的信息数据非常冗长繁杂,通常网站专业信息的表达非常专业和严谨,这也给新手的相关知识消化带来了一定的困难,博客平台的发展变有效缓解了这一问题,并大大增加了信息交流的灵活性与多样性。博客作者可以结合自己的学习经验,用更通用的语言来描述相关的知识内容,同样,浏览者可以留下与博客内容相关的问题,博客作者会进行回答,以实现更高效的信息交流。信息技术的发展也使得博客网站如雨后春笋般层出不穷。当前主流的博客平台以微型博客为主,其特征在于强大的用户基础,但是也存在一定的弊端,用户对于自己所发布的文章的管理权限受限,对于已发布的内容无法修改或者修改次数有限,网站无法满足用户的这一需求。本设计旨在设计一个基于SpringBoot,thymeleaf等技术的个人博客系统,能够满足用户对博客自主管理的需求,同时能够展现个人特色的博客平台。1.4开发技术分析1.4.1开发语言Java是一门面向对象编程语言,Java并没有像其他计算机语言那样随着时间的推移而降低其在编程领域的地位,反而经过多年的发展被越来越多的开发者所使用,基于java可跨平台开发使用的这一特性也使得开发过程更加便捷。1.4.2前端前端采用的是SemanticUI框架,一些轻量级的bootstrap,jquery插件和第三方插件。SemanticUI是一款语义化的前端UI框架,语法直观、简洁、易于学习,可帮助开发者开发出响应迅速、风格优美的前端页面。最大的特点是用户可以根据字面含义创建网页,在开发过程中节省学习时间,并快速将其投入实际开发工作。作为开源前端框架,用户可以添加他们为丰富整个框架的模板样板样式而完成的模块。1.4.3后端后端的开发采用的框架为SpringBoot,其中该框架自带的thymeleaf模板能够较好的实现前端页面的渲染。现阶段的开发过程中对于jsp来说仍存在一些影响开发操作的地方,主要体现在书写javascript时,不能够实现提示功能,因此SpringBoot框架不提倡jsp作为模板引擎[4],而thymeleaf则作为SpringBoot框架推荐使用的页面模板引擎,SpringBoot为其提供了默认配置,并为其设置了视图解析器,使得thymeleaf可以完全代替jsp。它的特点在于能够实现前后端的分离并且与SpringBoot完美结合。1.4.4数据库后端数据库采用的是MySQL,即当前主流的关系型数据库管理系统。MySQL关系型数据库能够被用户所采用在于其高效的性能,跨平台使用等诸多特点。MySQL的发展有着一定的历史年份,经过多年的发展技术逐步成熟完善,功能配套齐全,较强的功能性在数据处理方面尤为突出,并能够是实现大规模的数据存储,开发过程中成本低廉。其主要开发优点还包括:开放码源适配不同用户需求,性能优秀,提供丰富方API接口,接受多种语言开发。SpringBoot技术分析2SpringBoot框架技术分析2.1SpringBoot技术特点SpringBoot框架是由大量Spring开发框架的整合而来,发展之初旨在开发部署和调试,并简化传统的Spring再开发初期搭建复杂的问题,SpringBoot的出现与发展,使得开发人员的操作被不断简化,从而大大提高开发效率。在开发过程中,SpringBoot可以自动处理三方框架,采用Maven且基本不需要配置XML文件,并贯彻约定大于配置这一理念,即为大众所认知的惯例优先原则,因此在一定程度能够实现该特性——使多数配置信息能够在之前的预定原则下使用缺醒方法,来为使用者提供个性化的配置方式[5],因此它简化了Spring大量繁杂的配置工作,在开发过程中无需额外花费精力用于配置文件上,大大提高开发效率。其内嵌的tomcat服务器支持jar/war项目打包方式,可以实现项目的快速部署[6]。本系统采用的是这样一款框架,以便实现独立运行项目的高效搭建。2.2SpringBoot应用特性前端经常使用FreeMaker和Thymelef模板引擎来进行前端页面渲染,在开发过程中使前后端分离,即表示层与应用层相关逻辑分离,同样的也可配合前端框架使用,如本设计用到的SemanticUI等,在进行功能实现的开发过程中,不用担心会影响到前端页面,真正意义上实现前后端分离。2.3SpringBoot的Web开发技术相对于传统的开发模式SpringBoot在此基础进行了一定的改善,其将一个Tomcat内嵌于所开发的javaweb项目内,为Web开发予以支持[6]。在开发时使用SpringBoot加上Thymeleaf模板引擎可以快速搭建Web框架。3系统分析与设计3.1可行性分析在对一款系统进行开发前需要进行可行性分析,尤其是想要开发出一款优秀的系统,那么可行性分析的研究更是必不可少。首先要根据不同的用户的定位来分析不同用户的属性,开发相应的功能模块时以此为基础根据不同用户进行。为了在开发过程中避免不必要的资源浪费或者是低效率地工作,需要确定项目的开发是否具有可行性。本系统相关可行性分析研究如下:(1)技术可行性。本系统在开发的语言上选择的是java,开发工具选择的是IntelliJIDEA2020.2.3x64,开发界面简洁,操作简易便于上手,开发体验友好,能够在开发过程中保持着良好的开发效率。(2)操作可行性。系统浏览界面简洁友好方便游客用户浏览操作,进行相关功能交互,同时本系统的响应式的前端界面,面对使用浏览工具的用户都有着良好的视觉体验与操作做体验。(3)经济可行性。系统开发过程中所采用的开发工具均免费使用,其中主要的开发工具IDEA具有面向学生的教育优惠政策,只需进行相关身份申请验证后便可免费获得其完全版,体验并使用其全部功能。所以经济成本是控制在合理范围内。3.2用户需求分析本系统的使用者分为普通用户与管理员,在本系统设计中对于普通用户仅赋予主要的浏览与部分交互权限,而博主,即本系统的管理员,有着主要的后台管理权限,管理员在进行后台管理前需要进行登录,登陆后的管理操作主要包括对博客,分类,标签等模块的管理。普通用户和管理员用例图如图3-1所示。图3-1普通用户、管理员用例图3.3主要功能模块针对不同属性的用户,系统分为前端模块与后端模块。前端功能主要由四个模块构成,其中分别包括首页模块,标签模块,分类模块以及总览模块。前端功能模块图如图3-2所示图3-2前端功能模块图后端功能同样由四个模块构成,其中分别包括管理员登陆模块,标签管理,博客管理以及分类管理。后端功能模块图如图3-3所示图3-3后端功能模块图3.4系统功能模块需求分析普通用户对于博客文章没有实质性的修改权限,因此不需要进行登录,其主要功能如下:(1)前端对于普通用户所实现的功能1.博客浏览:从首页浏览博客的简略介绍,以及对一篇博客的完整浏览。2.检索:通过模糊查询在整个博客系统中进行全局搜索。3.分类查询:按照分类查询到对应的博客,一篇博客只对应一个分类。4.标签查询:按照标签查询到对应的博客,一篇博客可对应多个标签。5.留言以及回复留言:对于开启评论功能的博客进行留言,并可以对回复自的留言进行二级回复。6.赞赏等功能。(2)后端所实现的功能博客文章管理是系统的核心模块,对于博客的版权标识,评论权限,以及博客的管理,分类和标签的管理等,需要管理员通过登录后进行后台管理,其主要功能如下:1.管理员登录:管理员在登陆页面输入用户名和密码进行登陆。2.博客的增删改查:博客的编辑是基于博客创建页面的内置Markdown语法编辑器来实现的,该编辑器可提高用户的输入效率,使得文章内容的编辑与修改更加便捷;在博客发布前可以进行暂时的保存,待修改完毕后可继续发布;发布后的博客同样可以再次编辑,编辑完毕后重新发布即可,已发布的博客可以进行删除操作。3.博客发布选项,文章发布时候可选择版权相关信息,如转载,原创等。4.开启赞赏功能:可以自主选择是否开启赞赏功能。5.开启留言功能:可以自主选择是否开启留言评论功能。6.开启推荐:可以自主选择是否开启推荐功能。7.分类管理:对分类项的增加操作删除操作,修改和查看功能。8.标签管理:对标签项的增加操作删除操作,修改和查看功能。9.回复留言:管理员的回复有不同于游客回复的样式,以此区分管理员和普通用户。3.5数据库设计在数据库设计过程中运用到了Spring-Data-Jpa框架,该框架相较于传统的JPA其优势在于,在ORM(ObjectRelationalMapping)技术中,JAVA通过将实体类的类名映射到数据库的表名,对象名映射到数据库表中的一条记录,实体类属性映射到数据库表中的字段这一方式,能够快速便捷的实现数据库表的创建[7],因此大大简化了数据库开发的操作,在数据库表创建过程中,简化了表创建操作,在一定程度上能够提高表创建的准确性。3.5.1E-R图在MIS设计过程中,利用E-R图对数据库进行设计,反映数据库中表间的关系,避免产生多余的数据,降低数据库运行速度[8],在本系统中,根据系统的实体关系可以得到如下几张主要的表:博客表,分类表,标签表,评论表,用户信息表。其中,一篇博客文章仅对应一种分类,而一种分类可以对应多篇博客文章,所以是多对一的关系,一篇博客文章可以包含多个标签,一个标签可以有多个具有相同标签的博客,所以是多对多的关系,单篇博客与其对应的评论内容是独立的,故博客与评论是一对一的关系,本系统中的博客作者仅为管理人一个,管理员可管理多篇博客,所以是多对一的关系。综上所述,本系统设计数据库表E-R图如图3-4所示。图3-4系统实体联系图本系统设计管理员实体属性图如图3-5所示。图3-5管理员实体属性图本系统设计评论实体属性图如图3-6所示。图3-6评论实体属性图本系统设计分类实体属性图如图3-7所示。图3-7分类实体属性图本系统设计标签实体属性图如图3-8所示。图3-8标签实体属性图本系统设计博客实体属性图如图3-9所示。图3-9博客系统实体属性图3.5.2数据库表设计本设计数据库设计过程相关表情况可分为如下几张表。管理员信息表结构如表3-1所示。表3-1管理员信息表字段名数据类型是否主键描述idavatarcreate_timeemailnicknamepasswordtypeupdate_timebigintvarchar(255)datetime(6)varchar(255)varchar(255)varchar(255)intdatetime(6)是否否否否否否否编号头像创建时间邮箱昵称密码是否为管理员更新时间usernamevarchar(255)否用户名评论信息表结构如表3-2所示。表3-2评论信息表字段名数据类型是否主键描述idavatarcreate_timeemailnicknamecontentblog_idparent_comment_idadmin_commentbigintvarchar(255)datetime(6)varchar(255)varchar(255)varchar(255)bigintbigintbit(1)是否否否否否否否否编号头像创建时间邮箱昵称内容博客编号父级评论编号管理员评论博客信息表结构如表3-3所示。表3-3博客信息表字段名数据类型是否主键描述idappreciatecommentablecontentcreate_timefirst_picflagpublishedrecommendshare_statementtitleupdate_timeviewstype_iduser_idbigintbit(1)bit(1)longtextdatetime(6)varchar(255)varchar(255)bit(1)bit(1)bit(1)varchar(255)datetime(6)intbigintbigint是否否否否否否否否否否否否否否编号赞赏评论开启内容创建时间首页图片开关是否发布推荐开启转载声明标题更新时间浏览次数分类编号用户编号descriptionvarchar(255)否内容概述4系统设计与实现4系统设计与实现4.1系统架构本系统采用的是三层架构模式,可划分为表示层,业务逻辑层以及持久层。SpringBoot框架中的业务逻辑层并没有直接使用SQL语句来进行对数据库的访问,而是采用调用接口的方式来实现数据逻辑处理,其优势在于当系统面向不同的数据库时,仅需调用不同的接口方法即可实现对数据库的增删改查操作,真正意义上实现高内聚低耦合的思想。图4-1系统架构图4.2前台功能模块4.2.1首页图4-2首页

4.2.2博客详情页图4-3博客详情页4.2.3分类详情页用户可在分类页面根据不同的分类名来查询到与之对应的博客文章。如图4-4分页详情页所示,所展示的博客列表对应的为“分类测试”这一分类项。图4-4分类详情页4.2.4标签情页在标签详情页用户可根据不同的标签名来查询到包含该标签的博客文章。如图4-5标签详情页所示。图4-5标签详情页

4.2.5个人详情页图4-6个人详情页4.2.6总览页图4-7总览页4.3后台功能模块4.3.1管理员登陆页管理员在进行后台管理前需要以管理员的身份登陆,本系统在登陆模块中设置有登陆拦截功能,以避免用户通过地址跳过登陆页面直接访问后台页面。图4-8管理员登陆页4.3.2博客管理页管理员主要通过博客管理页面来进行博客的编辑查询操作以及删除功能和发布功能。点击右下角的新增按钮或是选中左上角的发布页面即可跳转到博客编辑页面来进行博客的新增操作。点击删除按钮则会实现对文章的删除操作,点击编辑按钮会在保留原来博客内容的基础上跳转到编辑页面,以便进行原文的编辑修改操作。修改完成后或是新增完成后可选择保存或是发布功能选项,选择发布后,博客文章可在首页显示,选择保存则不会在前端看到文章,但是所编辑的内容任然保留,可在博客管理页面进行管理操作。图4-9博客管理页4.3.3标签管理页图4-10标签管理页4.3.4分类管理页图4-11分类管理页4.3.5博客查询结果管理员可在博客列表页面上端的搜索栏,通过模糊查询所要查询的博客,模糊查询范围设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论