博客链接:链接
文字不够,图片来凑。
前言
为什么想要搭建这个博客?
我还记得,在大一暑假的某天,同往常一样的在团队解决着某个bug,不停地问度娘,很巧的碰到了一个大佬在他的博客中完美的记录了我的bug的解决方案,随后我又看了看他写的其他博客文章,还是我学长,emmm,大我两个年级。觉得都非常的不错,并且同时也被他博客网站的简约清新吸引,也就在那刻,心中埋下了准备自己搭建myblog的种子…
于是在暑假的时候我就开始了SpringSecurity了的学习,然后好像也并没有什么卵用,因为还是不会用~~~
就这样一直拖了大概有2个月,国庆节后的某天我才意识到我好像有件很重要的事没完成,就是这么的突然,毫无准备的就开始了博客的搭建。
一件事情在开头总是想的很美好,然而事实总会跟你对着干。在博客搭建的过程
中遇到了无数多的bug,我在此之前也可以算的上是个小小白,很是无奈,不过还是要在这里感谢创数据团队帮我解决了许多bug的宝玉姐姐、高虎姐姐和百万姐姐,没有你们估计我的博客还得推迟半年才能上线吧,O(∩_∩)O哈哈~
页面展示
项目需求
项目背景
对于初学Springboot的朋友来说,最好的一个学习方式就是那一个功能俱全的项目来练练手,通过自己重构项目来发现其中的潜在难题,并且也能很好的在编码过程中总结和发现问题、解决问题。使用Springboot开发的博客系统,简单并且实用,适合做练手项目。
功能需求
主页
- 博客汇总,以列表形式展示文章,并附上文章作者、发布日期、分类情况以及文章简要
- 能够以分类形式查看文章
- 可实现通过标签查找所有相关文章
- 个人介绍、联系方式
后台管理
-
文章管理
1.分页展示文章信息
2.可对文章进行再编辑以及删除文章 -
发布文章
1.使用CKEditor编辑器,支持插入代码,插入图片等功能,有试过markdown编辑器,但在前后端分离中失败了,我太菜了吧。
2.文章可选择分类和标签 -
分类管理,支持增加、删除、修改分类
安装部署需求
- 可以使用docker方式部署,也可支持-jar方式
- 使用springboot自带方式打包
项目设计
总体设计
- 本项目用到的技术和框架
1.项目构建:Maven
2.web框架:Springboot
3.数据库ORM:Mybatis
4.数据库连接池: Druid
5.分页插件:PageHelper
6.数据库:MySql8
7.缓存:Redis
8.前端框架:React
9.文章展示:CKEditor - 环境
工具 | 名称 |
---|---|
开发工具 | IDEA |
语言 | Java、HTML、css、js |
数据库 | Mysql8.0.17 |
项目框架 | SSM |
ORM | Mybatis |
安全框架 | SpringSecurity |
缓存 | Redis |
项目构建 | Maven |
运行环境 | 阿里云Centos7 |
结构设计
图是偷的学长的。。
对于熟悉Spring开发的朋友来说,相信对此结构也不会陌生。平时的开发过程中,结构设计是重要的环节,特别是协作开发的时候,明细的分包,模块化,可减少代码提交时的冲突。并且明确的结构有助于我们快速的寻找所对应的类。
业务设计
发布文章流程
登录流程
打包、部署和运行
- 本项目采用Springboot的maven插件进行打包,打包结果:****.jar
- 部署方式:使用 nohup java -jar ******.jar >******.log 2>&1 &的方式,后台启动项目,并在该路径下生成运行日志
数据库设计
非常简单
开发流程
数据库CRUD
- controller层中编写前端接口,接收前端参数
- service层中编写所需业务接口,供controller层调用
- 实现service层中的接口,并注入mapper层中的sql接口
- 采用Mybatis编写Sql语句。
- 关于事务的实现,在启动类中开启事务,并在service层需要实现事务的业务接口上使用@Transactional注解,还是十分方便的
- 本项目开发并不是很难
网站建设
- 服务器选用的是阿里云centos7
- 域名是阿里云上购买的.com的域名
- 网站备案,上传所需要的资料,剩下的就是等吧