基于SpringBoot的个人博客系统的设计与实现(源码+SQL脚本+LW+部署讲解等)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。
技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。
主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。
🍅文末获取源码联系🍅
在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
摘 要
随着国内市场经济这几十年来的蓬勃发展,突然遇到了从国外传入国内的互联网技术,互联网产业从开始的群众不信任,到现在的离不开,中间经历了很多挫折。本次开发的个人博客系统,有管理员,用户,博主三个角色。管理员功能有个人中心,用户管理,博主管理,文章分类管理,博主文章管理,系统公告管理,轮播图管理。博主可以注册登录,修改个人信息,对自己发布的博主文章进行管理操作。用户可以注册登录,查看管理员发布的公告信息和博主发布的文章信息,还可以对博主文章进行收藏评论以及评论操作。开发本程序后台用到了Spring Boot开发技术,页面设计采用VUE框架和layui样式。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。程序从需求到设计,从开发到测试,都在功能上和性能上都不断的进行了调试,让开发的程序在使用上用户体验更美好。
关键词:个人博客系统;Spring Boot;MySQL;VUE;Layui
1 绪论
1.1 研究背景
在这个推荐个性化的时代,采用新技术开发一个博客系统来分享和展示内容是一个永恒不变的需求。本次设计的个人博客系统有管理员,用户,博主三个角色。管理员功能有个人中心,用户管理,博主管理,文章分类管理,博主文章管理,系统公告管理,轮播图管理。博主可以注册登录,修改个人信息,对自己发布的博主文章进行管理操作。用户可以注册登录,查看管理员发布的公告信息和博主发布的文章信息,还可以对博主文章进行收藏评论以及评论操作。
1.2 研究意义
通过网络进行文章的转移展示,可以让用户和博主都能感受到互联网的魅力,让用户解除了地理的远近的限制和降低欣赏时间的成本。本次开发的个人博客系统具有下面的意义:
第一,现实中租赁场地欣赏文章与互联网办公设备的费用比较起来可谓是天上地下,能有效的节约成本。
第二,用户和博主都可以通过网络查看,避免了线下来回路费的实际成本。
综上所述,网络展示可以让展示变得更加灵活,是对传统展示模式的突破与变革,对于众多用户以及博主都有很强烈的吸引力和亲和力,在互联网时代真正实现了多环节的多赢。
1.3 研究内容
本文主要对已开发程序进行文档说明,文章从绪论,开发技术,系统分析与设计,系统实现与测试等环节进行程序描述。
绪论:绪论部分主要从课题的背景,课题的意义等角度进行阐述。
开发技术:开发技术部分主要还是介绍开发的平台,使用的技术与开发的语言等内容。
系统分析:系统分析部分主要还是分析系统的运行流程与系统需要具备的功能等进行分析。
系统设计:系统设计主要还是基于系统分析,从系统分析得出的功能进行详细设计和数据库设计。
系统实现:系统实现主要运用开发知识对系统设计的功能进行实现。
系统测试:系统测试主要检测完成开发程序整体运行是否报错,程序运行使用是否可靠。
2 开发技术
2.1 VUE框架
Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。
Vue 只关注视图层, 采用自底向上增量开发的设计。
Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
2.2 Mysql数据库
关于程序的数据结构设计,数据的字段设计,为了更好的、更规范的使用数据库,在数据库里进行了字段的设计挑选。关系型数据库可挑选范围不广,基本上也就是甲骨文公司的Oracle和mysql,微软的SQL SERVER和ACCESS,IBM的DB2数据库,常用的也就5个,根据课题需求,创建的程序进行选择数据库的时候,最重要的一条就是符合课题设计的需要,在五个数据库里可以说都符合,但是从课题的需求具体分析,Oracle明显不合适,维护难,又比较臃肿,课题程序只用到了里面很少一部分,SQL SERVER数据库安装维护方面动不动就需要重装系统,因为操作系统的限制,也不采用SQL SERVER,ACCESS数据库比较简单小巧,但是安全性方面还有语言支持方面比较片面,也不予考虑,DBM数据库接触较少也不考虑,只有MYSQL数据库,社区版完全的不用掏钱,并且是开源,值得信赖,从关系型数据库里挑选到MySQL,是因为完全符合课题需要,而且小巧,基本不占用硬盘的空间,处理性能也可以,这就是选择MySQL数据库作为课题程序所需要的数据库的理由。
2.3 Spring Boot框架
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
2.4 layui介绍
layui 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,非常适合网页界面的快速开发。layui 区别于那些基于 MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,它更多是面向后端开发者,你无需涉足前端的各种工具,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。
3 系统分析
通过阅读查看之前收集的各种文献资料,了解了程序开发遵循的大体流程。其中系统分析也就是其流程当中的一部分,系统分析也是对所选课题,通过对使用者的调查分析,对同类型课题进行比较分析过程中得出本课题需要具备的功能,此部分也是对所选课题的功能等进行需求分析。
3.1可行性研究
开发任何程序都需要提前进行分析,也包括了程序的开发与使用是否可行的分析,通常在可行性分析部分,需要涉及到的内容有经济是否可行,有对开发者开发技术上是否可行的分析,有对使用者运行操作程序是否可行的分析等。
(1)技术可行性
此课题主要用于检验本人的专业知识,检验本人将理论运用于实践的能力。由于本人作为大学生,在大学校园学习了程序开发方面的专业知识,也多次根据学院老师布置的期末作业进行过程序小功能模块的制作与开发,也参与过本专业的课程设计作业,因此本人具备一定高度的开发经验,并在开发技术上,比如Spring Boot这种课堂上学习并实践过的网页技术等有了一定的技术基础,在操作软件的使用上,比如数据库Mysql的操作等都有一定的熟练度。所以,只要配置好开发的相关环境,程序开发就会很快上手。
(2)经济可行性
此次课题主要用于毕业答辩,并不是作为商业程序投入社会使用。运用的开发软件通过各大网页浏览器就可以下载在笔记本电脑上,环境安装教程也在各大网页浏览器上查看,在开发期间,包括代码的编写也可以通过网页浏览器下载相应功能模块的代码,然后对下载的功能模块代码进行相应的编辑,就可以写入程序中。可以说整个过程并没有涉及到资金的投入,在程序开发硬件设备上,仅需一台电脑,鼠标,键盘等设备,这些硬件设备也无需额外掏钱欣赏,因为校园文章馆有专门的计算机机房供学生使用,另外,由于本专业的原因,本人早期已购置一台笔记本,所以硬件设备都已具备。因此此程序在经济投入上是零支出,具备可行性。
(3)运行可行性
此次课题在界面设计上讲究简单化,美观的设计原则,在对各个功能的流程设计上也是比较通俗易懂的,所以程序一旦投入使用,对使用者的计算机操作水平没有过多要求,加上现如今计算机在各个行业都有运用,以及人们学历的普遍提升,大部分人在操作具备可视化操作界面的程序时,很快就可以上手,就算有少数人不懂怎么操作,经人简单指点培训也可以操作程序。因此,程序投入使用,在运行上具备可行性。
程序可行性分析,分析了开发者的技术可行,分析了使用者的运行使用可行,分析了程序开发的经济可行。总之,开发与使用该程序完全可行。
3.2系统性能分析
程序一旦开发完成,就会投入生活中使用,使用者大多都是使用程序的功能区解决问题,之所以去分析程序需要具备的性能特征,主要还是确保程序运行中,在质量上是可靠的,在数据安全上是值得放心的,以及程序是一个健壮性的程序,程序在今后的社会变化中,也能通过编辑修改进行升级,以满足使用者不断变化的需求等等,这些特点都是程序的性能需要具备的特点。之所以要进行性能分析,也主要是考虑程序投入使用中,要尽可能降低程序的维护成本,要始终保持程序可以可靠运行,并长时间帮助使用者处理各种数据。在程序的功能符合使用者的要求的前提下,只有稳定可靠的程序,才能得到使用者的青睐。
3.3 系统流程分析
每个程序开发出来,不管是登录,添加信息等操作都是遵循一定的操作流程的,每个流程都有相应的判断,所以在分析系统的时候,也有必要对系统的流程进行分析。
3.3.1 系统开发流程
程序开发首先需要分析所开发程序的功能,这个步骤也是程序的需求分析阶段,这个阶段的任务很重要,因为程序功能确定之后,后面的设计,编码等环节都跟系统的分析阶段所完成的内容挂钩。程序在开发时大致都遵循以下流程。
4 系统设计
系统分析接下来的操作步骤就是系统的设计,这部分内容也是不能马虎对待的。因为生活都是在不断产生变化,人们需求也是在不断改变,开发技术也是在不断升级,所以程序也需要考虑在今后可以方便进行功能扩展,完成升级。程序也需要具备大容量以及对其它软硬件的适应能力,而不仅仅是满足现有用户提出来的功能需求,程序在设计期间始终要以发展的理念来进行,要让程序的开发技术上具备先进性的特点,也要让程序开发成本降低,以及让程序后期运行使用时易于维护。
4.1 系统结构设计
本程序在设计结构选择上首选B/S,也是为了满足程序今后升级便利,以及程序低维护成本的要求。本程序的网络拓扑设计也会在下图展示,通过图形的方式来描述更容易理解。
4.3.2 数据库表结构
在上述内容中,已经设计出相应的E-R模型,就可以在数据库里面根据各个实体创建相应的数据表,不过在初次使用数据库工具的时候,是需要创建一个针对程序的数据库文件,有了此步操作之后,才在刚创建的数据库文件里面创建数据表,创建数据表需要涉及到字段的设计,主键的设计,字段长度与类型的设计等内容,只有设计好的数据表结构才可以按照此规则存放对应的程序数据。这里举个例子,就拿上面提到的用户实体来说吧,用户具备的属性值,比如账号,比如联系方式与电话等都可以设计成该用户数据表里面的字段,然后对这些字段设计其数据类型,长度,并选择该表的主键作为此用户数据表的唯一标志。数据库里面的各个数据表都有它们的主键,这样也是为了方便区分各个数据表。
1系统公告表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | title | String | 标题 | 是 |
4 | introduction | String | 简介 | 是 |
5 | picture | String | 图片 | 是 |
6 | content | String | 内容 | 是 |
2博主文章表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | wenzhangbiaoti | String | 文章标题 | 是 |
4 | wenzhangfenlei | String | 文章分类 | 是 |
5 | tupian | String | 图片 | 是 |
6 | bozhuhao | String | 博主号 | 是 |
7 | bozhuming | String | 博主名 | 是 |
8 | fabushijian | datetime | 发布时间 | 是 |
9 | jianshu | String | 简述 | 是 |
10 | wenzhangneirong | String | 文章内容 | 是 |
11 | thumbsupnum | Integer | 赞 | 是 |
12 | crazilynum | Integer | 踩 | 是 |
13 | clicktime | datetime | 最近点击时间 | 是 |
14 | clicknum | Integer | 点击次数 | 是 |
3博主文章评论表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | refid | Integer | 关联表id | 是 |
4 | userid | Integer | 用户id | 是 |
5 | nickname | String | 用户名 | 是 |
6 | content | String | 评论内容 | 是 |
7 | reply | String | 回复内容 | 是 |
4博主表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | bozhuhao | String | 博主号 | 是 |
4 | bozhuming | String | 博主名 | 是 |
5 | mima | String | 密码 | 是 |
6 | xingbie | String | 性别 | 是 |
7 | nianling | Integer | 年龄 | 是 |
8 | lianxidianhua | String | 联系电话 | 是 |
9 | dianziyouxiang | String | 电子邮箱 | 是 |
10 | touxiang | String | 头像 | 是 |
11 | jianjie | String | 简介 | 是 |
5用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | yonghuming | String | 用户名 | 是 |
4 | xingming | String | 姓名 | 是 |
5 | mima | String | 密码 | 是 |
6 | xingbie | String | 性别 | 是 |
7 | nianling | Integer | 年龄 | 是 |
8 | shoujihao | String | 手机号 | 是 |
6文章分类表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | wenzhangfenlei | String | 文章分类 | 是 |
7收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | addtime | Date | 创建时间 | 是 |
3 | userid | Integer | 用户id | 是 |
4 | refid | Integer | 收藏id | 是 |
5 | tablename | String | 表名 | 是 |
6 | name | String | 收藏名称 | 是 |
7 | picture | String | 收藏图片 | 是 |
8 | type | String | 类型(1:收藏,21:赞,22:踩) | 是 |
9 | inteltype | String | 推荐类型 | 是 |
8配置文件表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | name | String | 配置参数名称 | 是 |
3 | value | String | 配置参数值 | 是 |
9用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
10token表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | userid | Integer | 用户id | 是 |
3 | username | String | 用户名 | 是 |
4 | tablename | String | 表名 | 是 |
5 | role | String | 角色 | 是 |
6 | token | String | 密码 | 是 |
7 | addtime | Date | 新增时间 | 是 |
8 | expiratedtime | Date | 过期时间 | 是 |
开题指导、源码获取、程序定做、毕设帮助,联系方式见文末。
系统实现效果
5 系统实现
对个人博客系统进行了前面的系统分析,系统设计之后,接下来的环节就是个人博客系统的具体编码实现功能的部分。这部分内容会显示系统各个功能的具体界面运行效果。
5.1 管理员功能实现
5.1.1 用户管理
管理员可以对用户信息进行添加,修改,删除,查询操作。
5.1.2 文章分类管理
管理员可以对文章分类信息进行添加,修改,删除,查询操作。
5.1.3 公告信息管理
管理员可以对公告信息进行添加,修改,删除,查询操作。
5.1.4 博主信息管理
管理员可以对博主信息信息进行添加,修改,删除,查询操作。
5.2 博主功能实现
5.2.1 博主文章管理
博主可以对自己发布过的博主文章信息进行添加,修改,删除,查询操作,还可以查看评论。
5.3 用户功能实现
5.3.1 博主文章信息
用户可以在博主文章里面查看到博主发布的文章信息,可以对博主文章信息进行查看,收藏,赞踩,评论操作。
5.3.2 我的收藏
我的收藏里面可以看到自己收藏过的博主文章信息,可以去点击收藏的信息去取消收藏。
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻