用springboot搭建一个个人博客
Posted 一只猪的思考
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用springboot搭建一个个人博客相关的知识,希望对你有一定的参考价值。
SpringBoot+layui+JPA+Semantic UI
博客访问地址: http://www.liujin.top:8080
本文将从技术栈、功能需求、数据库设计来讲述,前端页面展示可以看我上一篇文章前端介绍
一、技术栈
1.前端
- JS框架:JQuery
- CSS框架:Semantic UI官网 layui 官网
- Markdown编辑器:编辑器 Markdown
- 代码高亮:代码高亮 prism
- 动画效果:动画 animate.css
- 文章目录:目录生成 Tocbot
2.后端
- 核心框架:SpringBoot 2.2.5
- 项目构建:jdk1.8、Maven 3
- 持久层框架:jpa
- 模板框架:Thymeleaf
- 加密:MD5加密
- 运行环境:阿里云Centos7
3.数据库
- mysql 5.7
二、功能需求
因为是个人博客,所以没有做用户权限管理,只是简单的区分了一下普通用户和管理员用户,这里就根据普通用户和管理员用户来讲述功能需求,其实从上一篇博文的前端页面就能大致的看出需求了
1.普通用户
- 查看文章信息:文章列表、推荐文章、文章标题、文章内容、发布时间、访问量以及评论等信息
- 查看分类文章:分类列表、分类文章信息
- 查看时间轴:按照文章时间发布顺序查看文章
- 搜索文章:导航栏右边搜索框根据关键字搜索
2.管理员用户(栈主)
- 拥有普通用户所有功能权限
- 登录:在主页路径下加“/admin”,可进入登录页面,根据数据库的用户名和密码进行登录
- 文章管理:查询文章列表、新增文章、编辑文章、删除文章、搜索文章
- 分类管理:查询分类列表、新增分类、编辑分类、删除分类
- 消息管理:登录后恢复评论留言会显示栈主的头像信息,并能显示删除消息按键,可以对消息进行删除
三、数据库设计
由jpa自动建表,运用@ManyToOne, @OneToMany, @ManyToMany, @OneToOne注释处理
表之间的关系,在遇到事务管理时在serviceimpl上加,上@Transactional注释,需要注意的是,在
pojo层需要指定@Entity(name = “t_ .blog”)@Table指定表名,用@ld
@GeneratedValue指定主键,遇到加载长文本时也可以用@Basic(fetch = FetchType.LAZY)@Lob
进行懒加载
1.数据表
- 博客数据表:t_blog
- 分类数据表:t_type
- 用户数据表:t_user
- 评论数据表:t_comment
- 留言数据表:t_message
2.实体关系
- 博客和分类是多对一的关系:一个博客对应一个分类,一个分类可以对应多个博客
- 博客和用户是多对一的关系:一个博客对应一个用户,一个用户可以对应多个博客
- 博客和评论是一对多的关系:一个博客可以对应多个评论,一个评论对应一个博客
- 评论和回复是一对多的关系:一个评论可以对应多个回复,一个回复对应一个评论
留言和评论是一样的,还有友链和相册数据表和其他表没有关联
3.实体属性
博客属性:
分类属性:
用户属性:
评论属性:
留言属性:
以上是关于用springboot搭建一个个人博客的主要内容,如果未能解决你的问题,请参考以下文章