springboot博客系统

2024-09-04 13:28

本文主要是介绍springboot博客系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于springboot+vue实现的博客系统  (源码+L文+ppt)4-031

图片

4 系统设计  

  

博客系统的整体结构设计主要分为两大部分:管理员和博主。他们的权限不同,于是操作功能也有所不同。整体结构设计如图4-2所示。

图片

图4-2 系统结构图

4.3 数据库设计  

该系统基于MySQL数据库来管理信息,一旦系统运行完毕,所有的数据获取都将直接从数据库执行。这规定了无论是数据的新增、修改还是删除,任何引起数据变动的行为都需与数据库进行沟通。因而,数据库承载着系统的所有数据,必须确保在未得到许可的状态下,数据库不能执行诸如删除表结构之类的高风险操作,并且要保障表格字段的精确性。    

4.3.1 数据库设计原则  

1.从上而下

2.从下至上

3.逐渐扩大

4.结合方法

4.3.2 数据库实体  

实体-关系图(E-R图)是一种概念模型表示手法,它利用图形符号来表示现实世界的实体及其相互关系。通过将实例转化为抽象形式,E-R图能够清晰地描绘出数据库的设计蓝图。在需求分析阶段,绘制E-R图有助于直观地揭示各个数据表之间的关联。

博主的详细信息包括博主账号、博主的昵称、性别、手机号码、电子邮件地址以及头像等元素,这些在E-R图中如图4-3所示。    

图片

图4-3博主E-R图

          

   每日分享包括标题、标签、日期、心情、博主账号、博主昵称、评论数等属性,E-R图如图4-4所示。

图片

图4-4每日分享E-R图

          

博客信息包括博客标题、博客类型、博客来源、发表时间、博客图片、博主账号、博主昵称、点击次数、评论数、收藏数等信息,E-R图如图4-5所示。    

图4-5博客信息E-R图

          

   博主信息包括博主账号、博主昵称、性别、博客类型、关注人数、作品量、浏览量、电子邮箱、社交媒体链、注册时间、头像、点击次数等属性,E-R图如图4-6所示。

图4-6博主信息E-R图

   博客系统总体E-R图如图4-7所示。    

图4-7博客系统E-R图

          

4.3.3 数据库表设计  

数据库的核心功能在于保管和管控系统内的全部数据资源。这些数据需在确保独立性与安全性的基础上,实现一定程度的协作使用,允许在特定条件下对部分信息进行共享。关键在于确保数据库内的各个表格存储的信息受到安全保护,非授权用户无法访问或利用。在构建数据库时,设计过程应依据实际需求,实行定制化的数据库开发与规划。接下来将概述主要的数据库表结构。

表4-1:博客信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

refid        

bigint

                  

关联表id

                  

                  

userid

bigint

                  

用户id

                  

                  

avatarurl

longtext

4294967295

头像

                  

                  

nickname

varchar

200

用户名

                  

                  

content

longtext

4294967295

评论内容

                  

                  

reply

longtext

4294967295

回复内容

                  

                  

表4-2:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

name

varchar

100

配置参数名称

                  

                  

value

varchar

100

配置参数值

                  

                  

url

varchar

500

url

                  

                  

表4-3:博主信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

bozhuzhanghao

varchar

200

博主账号

                  

                  

bozhunicheng

varchar

200

博主昵称

                  

                  

xingbie

varchar

200

性别

                  

                  

bokeleixing        

varchar

200

博客类型

                  

                  

guanzhurenshu

int

                  

关注人数

                  

                  

zuopinliang

int

                  

作品量

                  

                  

liulanliang

int

                  

浏览量

                  

                  

youxiang

varchar

200

电子邮箱

                  

                  

shejiaomeitilianjie

varchar

200

社交媒体链接

                  

                  

zhuceshijian

date

                  

注册时间

                  

                  

gerenjianjie

longtext

4294967295

个人简介

                  

                  

touxiang

longtext

4294967295

头像

                  

                  

thumbsupnum

int

                  

                  

0

crazilynum

int

                  

                  

0

clicktime

datetime

                  

最近点击时间

                  

                  

clicknum

int

                  

点击次数

                  

0

表4-4:博主

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

bozhuzhanghao

varchar

200

博主账号

                  

                  

mima

varchar

200

密码

                  

                  

bozhunicheng        

varchar

200

博主昵称

                  

                  

xingbie

varchar

200

性别

                  

                  

shouji

varchar

200

手机

                  

                  

youxiang

varchar

200

邮箱

                  

                  

touxiang

longtext

4294967295

头像

                  

                  

表4-5:博客信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

bokebiaoti

varchar

200

博客标题

                  

                  

bokeleixing

varchar

200

博客类型

                  

                  

bokelaiyuan

varchar

200

博客来源

                  

                  

bokeneirong

longtext

4294967295

博客内容

                  

                  

fabiaoshijian

date

                  

发表时间

                  

                  

boketupian

longtext

4294967295

博客图片

                  

                  

bozhuzhanghao

varchar

200

博主账号

                  

                  

bozhunicheng

varchar

200

博主昵称

                  

                  

thumbsupnum

int

                  

                  

0

crazilynum

int

                  

                  

0

clicktime        

datetime

                  

最近点击时间

                  

                  

clicknum

int

                  

点击次数

                  

0

discussnum

int

                  

评论数

                  

0

storeupnum

int

                  

收藏数

                  

0

表4-6:博客类型

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

bokeleixing

varchar

200

博客类型

                  

                  

表4-7:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

username

varchar

100

用户名

                  

                  

password

varchar

100

密码

                  

                  

image

varchar

200

头像

                  

                  

role

varchar

100

角色

                  

管理员

addtime

timestamp

                  

新增时间

                  

CURRENT_TIMESTAMP

表4-8: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-9:收藏表

字段名称

类型

长度

字段说明

主键

默认值

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

inteltype

varchar

200

推荐类型

                  

                  

remark

varchar

200

备注

                  

                  

表4-10:每日分享

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

biaoti

varchar

200

标题

                  

                  

biaoqian

varchar

200

标签

                  

                  

riqi

date

                  

日期

                  

                  

xinqing

varchar

200

心情

                  

                  

zhengwen

longtext

4294967295

正文

                  

                  

tupian

longtext

4294967295

图片

                  

                  

bozhuzhanghao

varchar

200

博主账号

                  

                  

bozhunicheng

varchar

200

博主昵称

                  

                  

thumbsupnum

int

                  

                  

0

crazilynum

int

                  

                  

0

discussnum        

int

                  

评论数

                  

0

表4-11:每日分享评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                  

主键

主键

                  

addtime

timestamp

                  

创建时间

                  

CURRENT_TIMESTAMP

refid

bigint

                  

关联表id

                  

                  

userid

bigint

                  

用户id

                  

                  

avatarurl

longtext

4294967295

头像

                  

                  

nickname

varchar

200

用户名

                  

                  

content

longtext

4294967295

评论内容

                  

                  

reply

longtext

4294967295

回复内容

                  

                  

                

5界面设计与功能实现  

5.1 前台博主功能模块的实现

当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到博客系统的导航条显示系统首页、博主信息、博客信息、每日分享、个人中心。系统首页界面如图5-1所示:    

图片

图5-1系统首页界面

          

在注册流程中,博主在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新博主数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知博主完成注册。这个过程实现了新博主的数据收集、验证和存储。如图5-2所示:

图片

    

图5-2博主注册界面图

在登录流程中,博主首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证博主凭证。如果认证成功,后端会返回给前端,允许博主访问系统。这个过程涵盖了从博主输入到系统验证和响应的全过程。如图5-3所示:

          

图片

图5-3博主登录界面

          

博主点击博主信息,在博主信息页面的搜索栏输入博主昵称,进行搜索,然后查看博主账号、博主昵称、性别、博客类型、关注人数、作品量、浏览量、电子邮箱、社交媒体链接、注册时间、头像、点击次数,还可以点击关注、点赞等操作;如图5-4所示:    

图片

图5-4博主信息页面

          

博主点击博客信息,在博客信息页面的搜索栏输入博客标题,进行搜索,然后查看博客标题、博客类型、博客来源、发表时间、博客图片、博主账号、博主昵称、点击次数、评论数、收藏数等信息;还可以进行点赞、收藏等操作;如图5-5所示:

图片

图5-5博客信息页面

          

在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对博客信息、每日分享、我的收藏、我的关注、浏览历史进行详细操作,如图5-6所示:    

图片

  图5-6个人中心界面

          

                

5.2 后台管理员功能模块的实现  

管理员打开博客系统后,首先要填写本人的登录信息,后端会搜索数据库信息,若用户名、密码,全部正确会自动跳转到系统功能主页面,否则需要重新输入登录信息,界面如图5-7所示    

图片

图5-7管理员登录界面

          

管理员登录博客系统可以增加、修改或者删除首页、博主、博主信息、博客信息、博客类型、每日分享、轮播图管理、我的信息等。其界面如图5-8所示。

图片

图5-8 管理员功能界面

          

          

在界面展示层(view层),用户可以通过点击“添加”按钮或者填充博主详情表单来触发交互。这些关于博主信息的操作在这一层被记录下来,并转化为指令发送至控制层(controller层)。控制层接收到这些指令后,会调用业务逻辑层(service层)进行处理,例如检查输入数据的正确性以及与数据库的沟通。业务逻辑层完成相关处理后,会与数据访问对象层(DAO层)协作,这个层级专注于具体的数据操作,如查找、新增、修改或删除博主信息,并将这些操作的结果传回给控制层。最后,控制层依据这些结果来更新用户界面的状态,以便博主信息功能可以看到最新的信息或相应的操作反馈。在博主信息页面的输入栏中输入博主账号、博主昵称进行搜索,可以查看到博主详细信息,并根据需要进行修改或者删除等操作;如图5-9所示。    

图片

图5-9博主管理界面图

          

在用户界面的呈现层(view层),用户可以通过互动元素如按下“添加”按钮或填充博主信息表单来触发操作。这些行为在视图层被捕捉,并转化为请求发送至对应的控制层(controller层)。控制器接收到这些请求后,会调用业务逻辑层(service层)进行处理。此层主要负责验证输入信息的正确性以及与数据库的交互。在业务逻辑处理完毕后,它会与数据访问对象层(DAO层)沟通,这个层专门负责博主信息的具体数据库操作,包括查找、新增、修改或删除等。DAO层完成任务后,会将操作结果反馈回控制器,控制器据此更新用户界面的状态,以便博主信息功能可以看到最新的信息或相应的操作反馈。在博主信息页面的输入栏中输入博主昵称、博客类型进行搜索,可以查看到博主详细信息,并根据需要进行修改或者删除等操作;如图5-10所示。    

图片

          

图5-10博主信息管理界面图

          

管理员点击博客信息;在博客信息页面通过对博客标题、博客类型、博客来源、发表时间、博客图片、博主账号、博主昵称、点击次数、评论数、收藏数等信息,进行搜索或删除班级等操作;如图5-11所示。    

图片

图5-11博客信息界面图

          

管理员点击博客类型;在博客类型页面通过对博客类型等信息,进行搜索、增加或删除博客类型等操作;如图5-12所示。

图片

图5-12博客类型界面图

          

管理员点击每日分享;在每日分享页面通过对标题、标签、日期、心情、博主账号、博主昵称、评论数等信息,进行搜索或者删除每日分享等操作;如图5-13所示。    

图片

图5-13每日分享界面图

这篇关于springboot博客系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136140

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,