推荐一个基于Springboot + Vue 开发的前后端分离博客

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
简介: 推荐一个基于Springboot + Vue 开发的前后端分离博客

基于Springboot + Vue 开发的前后端分离博客

博客介绍

本博客是参考 [风丶宇] 大佬的博客更新而成,感谢大佬提供的页面,然后定制新增部分功能,是个非常值得新手入门学习的Java规范化编程案例!

在线地址

项目链接: https://www.macw.cc/


后台链接: blog.macw.cc


测试账号:test@qq.com,密码:1234567,可登入后台查看。


Gitee地址: https://gitee.com/macw/blog


在线接口文档地址: https://www.macw.cc/api/doc.html


您的star是我坚持的动力,感谢大家的支持,欢迎提交pr共同改进项目。

更新内容

更新博客图片为接口自动刷新获取


说说首页滚动框优化,截取第一行前n个字符展示


优化部分页面样式,新增部分自动化接口调用


首页右下角新增[摸鱼日历]接口等


后台系统配置更新


添加个人网盘菜单


点赞功能更新为无需登录点赞,通过cookie刷新记录


游客头像取消默认黑白,改为自动刷新


友链页面优化,添加博客地址说明等

后续更新计划

  • 更新违禁词校验检测功能,现在校验太严格
  • 添加博客文章页面,可以添加附件功能等【已完成】
  • 添加微信公众号菜单配置功能
  • 添加百度收录SEO等【已完成】
  • 添加博客页面广告接入,后台配置等【已完成】
  • 博客首页多主题配置等

敬请期待。。。。。。。。。。。。。。。。。。

系统目录结构

前端项目位于blog-vue下,blog为前台,admin为后台。


后端项目位于blog-springboot下。


SQL文件位于根目录下的blog-mysql8.sql,需要MYSQL8以上版本。


可直接导入该项目于本地,修改后端配置文件中的数据库等连接信息,项目中使用到的关于阿里云功能和第三方授权登录等需要自行开通。


当你克隆项目到本地后可使用邮箱账号:admin@qq.com,密码:1234567 进行登录,也可自行注册账号并将其修改为admin角色。


本地访问接口文档地址:http://127.0.0.1:8080/doc.html


ps:请先运行后端项目,再启动前端项目,前端项目配置由后端动态加载。

blog-springboot
├── annotation    --  自定义注解
├── aspect        --  aop模块
├── config        --  配置模块
├── constant      --  常量模块
├── consumer      --  MQ消费者模块
├── controller    --  控制器模块
├── dao           --  框架核心模块
├── dto           --  dto模块
├── enums         --  枚举模块
├── exception     --  自定义异常模块
├── handler       --  处理器模块(扩展Security过滤器,自定义Security提示信息等)
├── service       --  服务模块
├── strategy      --  策略模块(用于扩展第三方登录,搜索模式,上传文件模式等策略)
├── util          --  工具类模块
└── vo            --  vo模块

项目特点

前台参考"Hexo"的"Butterfly"设计,美观简洁,响应式体验好。


后台参考"element-admin"设计,侧边栏,历史标签,面包屑自动生成。


采用Markdown编辑器,写法简单。


评论支持表情输入回复等,样式参考Valine。


添加音乐播放器,支持在线搜索歌曲。


前后端分离部署,适应当前潮流。


接入第三方登录,减少注册成本。


支持发布说说,随时分享趣事。


留言采用弹幕墙,更加炫酷。


支持代码高亮和复制,图片预览,深色模式等功能,提升用户体验。


搜索文章支持高亮分词,响应速度快。


新增文章目录、推荐文章等功能,优化用户体验。


新增在线聊天室,支持撤回、语音输入、统计未读数量等功能。


新增aop注解实现日志管理。


支持动态权限修改,采用RBAC模型,前端菜单和后台权限实时更新。


后台管理支持修改背景图片,博客配置等信息,操作简单,支持上传相册。


代码支持多种搜索模式(Elasticsearch或MYSQL),支持多种上传模式(OSS或本地),可支持配置。


代码遵循阿里巴巴开发规范,利于开发者学习。

技术介绍

前端: vue + vuex + vue-router + axios + vuetify + element + echarts


后端: SpringBoot + nginx + docker + SpringSecurity + Swagger2 + MyBatisPlus + Mysql + Redis + elasticsearch + RabbitMQ + MaxWell + Websocket


其他: 接入QQ,微博第三方登录,接入腾讯云人机验证、websocket

运行环境

服务器: 腾讯云2核4G CentOS7.6

CDN: 阿里云全站加速

对象存储: 阿里云OSS

这套搭配响应速度非常快,可以做到响应100ms以下。

最低配置: 1核2G服务器(关闭ElasticSearch)

开发环境

开发工具 说明
IDEA Java开发工具IDE
VSCode Vue开发工具IDE
Navicat MySQL远程连接工具
Another Redis Desktop Manager Redis远程连接工具
X-shell Linux远程连接工具
Xftp Linux文件上传工具
开发环境 版本
JDK 1.8
MySQL 8.0.20
Redis 6.0.5
Elasticsearch 7.9.2
RabbitMQ 3.8.5

项目截图

快速开始

项目环境安装

详见文章Docker安装运行环境

项目配置

详见文章项目配置教程

Docker部署项目

详见文章项目部署教程

注意事项

  • 项目拉下来运行后,可到后台管理页面网站配置处修改博客相关信息.
  • 邮箱配置,第三方授权配置需要自己申请。
  • ElasticSearch需要自己先创建索引,项目运行环境教程中有介绍。

项目总结

博客作为新手入门项目是十分不错的,项目所用的技术栈覆盖的也比较广,适合初学者学习。主要难点在于权限管理、第三方登录、websocket这块。做的不好的地方请大家见谅,有问题的或者有好的建议可以私聊联系我。

交流QQ

1055215129@qq.com

欢迎各位大佬发邮箱进行博客问题沟通,也欢迎各位去博客留言页进行留言,每一条留言我都会认真看并且回复,感谢支持!!!

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
19天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
95 62
|
13天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发
|
17天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
35 2
|
20天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
23天前
|
JavaScript 前端开发 测试技术
组件化开发:创建可重用的Vue组件
【10月更文挑战第21天】组件化开发:创建可重用的Vue组件
24 1
|
24天前
|
JavaScript 前端开发
vue全局公共组件自动引入并注册,开发效率直接起飞!
【10月更文挑战第14天】vue全局公共组件自动引入并注册,开发效率直接起飞!
44 1
|
1月前
|
存储 前端开发 中间件
vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率
vue3之vite配置vite-plugin-mock使用mock轻松创建模拟数据提高开发效率
241 0
|
15天前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
30 0
|
JavaScript 算法 Java
springboot vue二手交易市场毕设源码(毕设)
springboot vue二手交易市场毕设源码
365 0
springboot vue二手交易市场毕设源码(毕设)
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
145 1