
简窝博客,一个基于SpringBoot+Vue的前后端分离博客系统
前言
本项目是由原来的ThinkPHP项目(https://gitee.com/gulihua/jianwoo)重构,由于本人的主要的编程语言是JAVA, 所以打算不维护之前老的php项目(原项目说明:https://jianwoo.cn/#/detail?id=2), 再加上之前的php构建的网站经常有不明黑客攻击,导致服务器和域名被腾讯云封禁好几回,之后直接挂了一个静态的网站(http://old.jianwoo.cn/)在上面。

项目介绍
简窝博客( JianwooBlog ),一个基于Spingboot的前后端分离博客系统。Web 端使用 Vue + ElementUi , 移动端使用 uniapp(还在开发)。后端使用 SpringBoot + Mybatis-plus进行开发,使用 Jwt + SpringSecurity 做登录验证和权限校验,使用 Solr (准备集成)作为全文检索服务,使用 Github Actions完成博客的持续集成,使用 logback+janino 收集博客日志,文件支持上传本地、七牛云 。
- 简窝博客大部分功能是我个人进行开发的,因能力有限,其中很多技术都是一边学习一边使用的,可以说简窝博客也是一个我用来熟悉技术的项目,所以很多地方可能考虑不周,故有能改正的地方,还请各位老哥能够指出~
- 现在挺多是SSM或者SSH的博客管理系统,很多博客前后端都是集成在一个系统, 所以我想用 SpringBoot + Vue 的前后端分离进行尝试项目的构建,里面很多功能可能只是为了满足自己的学习需求而引入的, 因此本博客也是一个非常好的 SpringBoot以及 Vue 技术的入门学习项目。
- 原来做过 Vue + ElementUi 做过管理系统,所以现在打算做一套自己的、基于当前最新技术栈的博客系统。
- [简窝博客](https://jianwoo.cn)中的一些文章,很多都来自我平时的学习笔记,还有就是工作中遇到的一写问题和bug,里面涵盖了 Java,Spring,SpringBoot ,JavaScript, Vue、Linux ,Mysql等 ,感兴趣的小伙伴可以跳转该仓库 [Star支持](https://github.com/gulihua10010/jianwooBlog) 一下
运行配置
最低配置:1核2G
推荐配置:2核4G 【狂欢特惠】【博主目前配置】
最近,腾讯云和阿里云的优惠力度非常大,如果有需求的小伙伴,可以了解一下~
【阿里云】云服务器狂欢特惠,2核2G5M 轻量级应用服务器 60 元/年 [点我传送]
【腾讯云】云产品限时秒杀,爆款 2核4G8M 云服务器,首年 74元/年、222/3年【博主强烈推荐】[点我传送]
项目特点
- 友好的代码结构及注释,便于阅读及二次开发
- 实现前后端分离,通过 **Json** 进行数据交互,前端再也不用关注后端技术
- 页面交互使用 Vue3.x,极大的提高了开发效率。
- 引入七牛云对象存储,同时支持本地文件存储
- 采用自定义参数校验注解,轻松实现后端参数校验
- 采用 AOP + 自定义注解 + Redis 实现限制IP接口访问次数
- 采用自研的评论模块,支持emoij表情输入, 实现评论邮件通知,站内信通知
- 支持文本编辑器的多种功能, 包括一键排版, Word导入, 文件上传等
- 支持编辑文章草稿时系统自动保存, 防止不小心刷新导致文章作废~
- 支持评论显示IP属地(跟上模板主流应用)
- 支持网站黑名单, 如有恶意刷屏, 把IP一键拉黑~
- 支持业务日志,登录日志, 让每个操作都有迹可循
- 支持系统公告, 让用户随时了解系统动态
- 支持留言板, 有啥好玩的建议随时提~
版本日志
v1.0.0
- 从之前的ThinkPHP 项目重构为 springBoot+Vue前后端分离的 JAVA 项目
- 优化了后台管理页面的显示,增加了接口安全性
- 新增了留言板,公告,操作业务日志,用户,邮件,站内信消息通知,网站黑名单等功能
- 优化了业务逻辑
- 优化了评论模块
- 增加了定时任务,自动任务模型
- 修复了一些已知问题
v1.1.0
- 博客支持移动端
- 优化了前端 vue 页面
- 修复了一些已知问题
- 浏览文章支持目录
- 首页支持音乐播放插件
- 支持二次元桌面精灵
用户模型

项目地址
目前项目托管在 Gitee 和 Github 平台上中,欢迎大家 Star 和 Fork 支持~
后端技术
| 技术 | 说明 | 官网 |
| SpringBoot | MVC框架 | |
| SpringSecurity | 认证和授权框架 | |
| MyBatis-Plus | ORM框架 | |
| Solr | 搜索引擎 | |
| Redis | 分布式缓存 | |
| Docker | 容器化部署 | |
| Druid | 数据库连接池 | |
| 七牛云 | 七牛云 - 对象储存 | |
| JWT | JWT登录支持 | |
| logBack | 日志框架 | |
| Lombok | 简化对象封装工具 | |
| Nginx | HTTP和反向代理web服务器 | |
| Hutool | Java工具包类库 | |
| 阿里大于短信 | 短信发送平台 | |
| Ip2region | 离线IP地址定位库 | |
| Docker Compose | Docker Compose | |
| Portainer | Docker可视化管理 | |
| UidGenerator | 百度ID雪花生成框架 | |
| pagehelper | Mybatis分页插件 |
前端技术
| 技术 | 官网 |
| 前端框架 | |
| 路由框架 | |
| 全局状态管理框架 | |
| 创建服务端渲染 (SSR) 应用 | |
| 前端ui框架 | |
| 前端HTTP框架 | |
| 富文本编辑器 | |
| 图片裁剪组件 | |
| vue图片剪裁上传组件 | |
| Vue Emoji表情评论组件 | |
| 现代化的拷贝文字 | |
| 美化JavaScript代码 | |
| 保存文件在客户端 | |
| 功能强大的JavaScript 拖拽库 | |
| 目录导航栏 | |
| 用Javascript编写的Markdown 到Html转换器 | |
| 用JavaScript编写的HTML到Markdown转换器 | |
| geetest前端登录图形验证码 |
快速开始
【推荐】一键部署博客系统
a.数据库建表
执行脚本src/main/resources/script/01_jianwoo_blog_create_table.sql
b.初始化数据
执行脚本src/main/resources/script/02_jianwoo_blog_initdata_table.sql
c.启动服务
nohup java -jar /www/application/blog-1.0.0-SNAPSHOT.jar --spring.profiles.active=prod -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 > /dev/null 2>&1环境搭建
开发工具
| 工具 | 说明 | 官网 |
| IDEA | Java开发IDE | |
| WebStorm | 前端开发IDE | |
| RedisDesktop | Redis可视化工具 | |
| Termius | Linux远程连接工具 | |
| Transmit | Linux文件传输工具 | |
| Navicat Premium | 数据库连接工具 | |
| ScreenToGif | Gif录制工具 |
开发环境
| 工具 | 版本号 | 下载 |
| JDK | 1.8 | |
| Maven | 3.3.0+ | |
| Solr | 7.0 | |
| MySQL | 8.0 | |
| Nginx | 1.10 | |
| Redis | 3.3..0 |
部署平台
| 平台 | 说明 | 官网 |
| 宝塔面板 | 安全高效的服务器运维面板 | https://www.bt.cn/new/index.html |
贡献代码
开源项目离不开大家的支持,如果您有好的想法,遇到一些 BUG 并修复了,欢迎小伙伴们提交 Pull Request 参与开源贡献
1. fork 本项目到自己的 repo
2. 把 fork 过去的项目也就是你仓库中的项目 clone 到你的本地
3. 修改代码
4. commit 后 push 到自己的库
5. 发起PR( pull request) 请求,提交到 Nacos 分支
6. 等待作者合并
开源协议
赞赏
服务器和域名等服务的购买和续费都会产生一定的费用,为了维持项目的正常运作,如果觉得本项目对您有帮助的话,欢迎朋友能够给予一些支持
网站截图






苏ICP备16040035号-5