SpringBoot搭建的个人博客项目

关于本地开发

可直接导入该项目于本地,修改配置文件中的数据库连接信息,导入附带数据库结构的SQL文件可直接生成所有表,如果有需要还需要开通阿里云相关服务

当你克隆项目到本地后可使用手机号:18773672707,密码:111111进行登录,也可自行注册并将其修改为最高管理权限。

如果发布项目后需要开启Https请求,配置配置文件后开启HttpToHttpsConfig类的@Confaguration注解即可

项目介绍

  • 本项目采用MyBlog的前端,特此感谢!
  • 关于项目,对于学习Springboot是个挺不错的练手项目
  • 开发前的一些准备工作,以及思考项目整体结构与思路
  • 记录开发过程中遇到的一些难题以及bug
  • 更新较慢的部分采用redis缓存增加访问速度
  • 部分接口遵循restFul规范

页面展示

首页展示

文章编辑

后台管理

用户个人中心

项目需求

项目背景

对于初学Springboot的朋友来说,最好的一个学习方式就是那一个功能俱全的项目来练练手,通过练习来不断熟练技术发现自己的不足,并且也能很好的在编码过程中总结和发现问题、解决问题。使用Springboot开发的博客系统,简单并且实用,适合做练手项目。

功能需求

主页

  • 博客汇总,以列表形式展示文章,并附上文章作者、发布日期、分类情况以及文章简要
  • 能够以分类形式查看文章
  • 能够以时间列表方式归档文章
  • 可实现通过标签查找所有相关文章
  • 个人介绍、联系方式
  • 博客网站更新记录
  • 友链链接

后台管理

  • 网站仪表盘,记录网站访客量情况
  • 文章管理 1.分页展示文章信息 2.可对文章进行再编辑以及删除文章
  • 发布文章 1.使用markdown编辑器,支持插入代码,插入图片等功能 2.文章可选择分类和标签,以及转载文章支持链接原作者文章
  • 分类管理,支持增加、删除、修改分类
  • 友情链接 1.支持增加友情链接 2.支持删除友情链接
  • 反馈信息管理,可查看用户反馈信息

安装部署需求

  • 可以使用docker方式部署,也可支持-jar方式
  • 使用springboot自带方式打包

非功能需求

性能需求

  • 首页响应时间不超过2秒钟
  • 文章页响应时间不超过3秒钟

 

项目设计

总体设计

  • 本项目用到的技术和框架
    1.项目构建:Maven
    2.web框架:Springboot
    3.数据库ORM:Mybatis
    4.数据库连接池: Druid
    5.分页插件:PageHelper
    6.数据库:MySql
    7.缓存:Redis
    8.前端模板:Thymeleaf
    9.文章展示:Editor.md

  • 本项目中的关键点
    1.采用Springboot开发,数据库使用连接池加orm框架的模式,对于系统的关键业务使用Redis缓存,加快相应速度。
    2.整体系统采用门户网站+后台管理+用户个人中心的方式搭建,门户网站展示博客内容以及博主介绍,后台管理用于编辑文章,查看反馈,管理评论留言。

  • 环境

工具名称
开发工具IDEA
语言JDK11、HTML、css、js
数据库Mysql8.0
项目框架spring boot
ORMMybatis
安全框架SpringSecurity
缓存Redis
项目构建Maven
运行环境阿里云Centos7

结构设计

对于熟悉Spring开发的朋友来说,相信对此结构也不会陌生。平时的开发过程中,结构设计是重要的环节,特别是协作开发的时候,明细的分包,模块化,可减少代码提交时的冲突。并且明确的结构有助于我们快速的寻找所对应的类。

 

业务设计

发布文章流程

  

 


登录流程

用户个人资料修改流程

打包、部署和运行

  • 本项目采用Springboot的maven插件进行打包,打包结果:****.jar
  • 部署方式:使用 nohup java -jar .jar >.log 2>&1 &的方式,后台启动项目,并在该路径下生成运行日志

开发流程

数据库CRUD

  • controller层中编写前端接口,接收前端参数
  • service层中编写所需业务接口,供controller层调用
  • 实现service层中的接口,并注入mapper层中的sql接口
  • 采用Mybatis的JavaConfig方式编写Sql语句。由于并没有使用Mybatis的逆向功能,需要自己手写所有sql语句
  • 关于事务的实现,在启动类中开启事务,并在service层需要实现事务的业务接口上使用@Transactional注解
  • 访问量的存储使用定时任务

页面与展示

  • 作为一名后端开发,对于前端编辑的能力有所欠缺,这里我使用了MyBlog,极大的减少了页面的开发难度,特此感谢
  • 前端页面与后端的交互主要是在controller包中,并使用Thymeleaf渲染页面。
  • 自定义异常处理页面,通过重写WebMvcConfigurerAdapter实现自动跳转到404、403页面

其他功能

  • 使用lazyload插件实现页面图片懒加载
  • 后台实时记录当天访客量,便于了解博客日常访问量
  • 分析访问量最多的数据,主要在于文章访问部分,将文章放入redis缓存。每次编辑完文章后,更新缓存

网站建设

  • 服务器选用的是阿里云centos7
  • 域名是阿里云上购买的.cn的域名

总结

开发中遇到的难点

  • 上传图片存储在阿里OSS中,没有返回地址,所以地址需要自己手动拼接
  • 项目中最大的难点还是莫过于页面设计,但是使用了MyBlog的前端,只需修改js请求和css就能实现自己所需要的样式

博客网站优缺点

  • 首先最大的一个缺点就是在前端页面设计过程中混用了一些Bootstrap,导致前端依赖难以改动,不便于后期修改
  • 对于页面用户体验以及反馈功能的设计便于用户对于浏览过程中出现的问题进行反馈
  • 后端部分明确的分工有利于项目的理解与维护

 

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
### 回答1: 基于Spring Boot的个人博客系统项目源码是一个用于构建个人博客网站的开源项目。它提供了一个完整的后台管理和前台展示功能,可以方便地构建和管理自己的博客网站。 该项目的源码使用Spring Boot框架进行开发,借助Spring Boot的快速开发特性,可以快速搭建起一个功能完善的个人博客系统。Spring Boot提供了许多开箱即用的功能和便捷的配置方式,使得开发者可以专注于具体业务逻辑的实现,而不需要过多关注项目的架构和配置。 个人博客系统的源码包含了后台管理部分和前台展示部分。后台管理部分提供了一系列管理功能,包括文章管理、标签管理、分类管理、评论管理等。管理员可以通过后台管理界面对博客文章进行发布、编辑和删除,管理标签和分类,审核评论等操作。 前台展示部分是博客网站的实际展示页面,包括文章列表、文章详情、分类列表、标签列表等页面。用户可以通过前台页面浏览已发布的博客文章,查看文章详情,查找特定标签和分类的文章等。 源码中使用了MySQL数据库来存储博客的数据,并使用了MyBatis作为持久层框架,简化了数据库操作的过程。同时,还使用了Thymeleaf模板引擎来实现前台页面的渲染。 该项目的源码还提供了一些其他功能和特性,比如用户注册和登录、验证码生成和验证、文件上传和下载等。所有的功能都经过了良好的设计和封装,可以方便地进行二次开发和定制。 总之,基于Spring Boot的个人博客系统项目源码提供了一个完整的博客网站解决方案,使得构建和管理个人博客网站变得更加简单和高效。通过该源码,可以快速搭建起一个功能完善的个人博客网站,并进行二次开发和定制。 ### 回答2: 基于Spring Boot的个人博客系统项目源码是一个开源的代码库,用于构建一个完整的个人博客系统。该项目源码包含了一系列的功能模块和技术实现,使用户能够方便地创建、编辑和管理自己的博客内容。 该项目源码的主要特点包括: 1. 使用Spring Boot框架:Spring Boot是一个快速构建应用程序的框架,可以大大简化开发流程并提高代码质量。该项目源码采用了Spring Boot作为主要开发框架,可以快速搭建整个博客系统。 2. 支持用户认证和授权:该项目源码实现了用户认证和授权功能,只有经过认证的用户才能进行博客的编辑和管理操作。用户可以注册新账户并进行登录操作,系统会自动为每个用户分配一个唯一的身份标识。 3. 支持博客的创建和编辑:用户登录后可以点击新建博客按钮,进入博客编辑页面。用户可以填写博客的标题、内容和标签等信息,并可以上传图片或视频作为博客的附加内容。编辑完成后,用户可以保存草稿或立即发布博客。 4. 支持博客的浏览和评论:用户可以在系统主页上浏览最新的博客内容,并且可以对感兴趣的博客进行评论和点赞操作。系统会对博客进行分页处理,方便用户阅读和浏览。 5. 支持博客的搜索和分类:该项目源码实现了博客内容的搜索和分类功能,用户可以根据关键词进行搜索,也可以通过标签或分类进行博客的筛选。系统会根据用户的搜索行为进行相关博客的推荐。 总之,基于Spring Boot的个人博客系统项目源码提供了一套完整的博客管理解决方案,用户可以通过该项目源码快速构建自己的个人博客系统,并实现博客的创建、编辑、浏览和评论功能。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜卡迪家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值