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

news/2024/5/18 19:54:12/文章来源:https://blog.csdn.net/MacWx/article/details/128015763

基于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)

开发环境

开发工具说明
IDEAJava开发工具IDE
VSCodeVue开发工具IDE
NavicatMySQL远程连接工具
Another Redis Desktop ManagerRedis远程连接工具
X-shellLinux远程连接工具
XftpLinux文件上传工具
开发环境版本
JDK1.8
MySQL8.0.20
Redis6.0.5
Elasticsearch7.9.2
RabbitMQ3.8.5

项目截图

img.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JurMfTC-1669262768428)(https://static.talkxj.com/articles/1616255938601.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VQtrLikW-1669262768429)(https://static.talkxj.com/articles/1616231705373.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BZZOZq9O-1669262768429)(https://static.talkxj.com/articles/1616231714148.png)]

快速开始

项目环境安装

详见文章Docker安装运行环境

项目配置

详见文章项目配置教程

Docker部署项目

详见文章项目部署教程

注意事项

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

项目总结

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

交流QQ

1055215129@qq.com

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_224888.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM 中类加载的链接与初始化

类加载系统,主要有以下部分 加载链接 验证准备解析初始化 它们每部分都做些什么事情呢? 加载 (2条消息) JVM 双亲委派模型_兜兜转转m的博客-CSDN博客 链接 链接-验证 一般验证部分,IDEA已经帮我们规范了。 验证是连接阶段的第一步&…

数据结构和常用排序算法复杂度

1.顺序表 插入操作时间复杂度 最好O(1),最坏O(n),平均O(n) 移动结点的平均次数n/2 删除操作时间复杂度 最好O(1),最坏O(n),平均O(n) 移动结点的平均次数(n-1)/2 按值查找时间复杂度 最好O(1),最坏O(n),平…

JVM垃圾回收——CMS垃圾收集器

目录 一、什么是CMS垃圾收集器 二、CMS垃圾收集的过程 三、CMS收集器的不足 四、CMS收集器的参数配置 一、什么是CMS垃圾收集器 虽然HotSpot虚拟机已经在jdk14中移除了CMS垃圾收集的参数,但是考虑到还有很多开发是基于jdk8开发的,所以还是有必要了解…

数据结构-难点突破(C++实现并查集+路径优化,详解哈夫曼编码树)

文章目录1. 并查集2. 哈夫曼编码树1. 并查集 并查集是一个多棵树的集合(森林)。 并查集由多个集合构成,每一个集合就是一颗树。 并:合并多个集合。查:判断两个值是否再一个集合中。 每棵树存在数组中,使…

集世界杯+GameFi元素的MetaElfLand,为何将在世界杯期间爆发?

又到了四年一度的球迷狂欢节,本次卡塔尔世界杯已于11月21号举行。 每当世界杯来临,与世界杯相关产业都会迎来一波爆发,毕竟这个千亿美金市值的市场暗藏着无数的机会。而自GameFi的火热开始,世界杯也成为了加密投资者的狂欢日&…

pytorch的buffer学习整理

pytorch模型中的buffer 这段时间忙于做项目,但是在项目中一直在模型构建中遇到buffer数据,所以花点时间整理下模型中的parameter和buffer数据的区别💕 1.torch.nn.Module.named_buffers(prefix‘‘, recurseTrue) 贴上pytorch官网对其的说…

分布式文件系统HDFS实践及原理详解part3

HDFS原理 说明:3.5开头目录是因为和上篇文章内容同属一章,所以开头使用了3.5 3.5 HDFS核心设计 3.5.1 心跳机制 1、 Hadoop 是 Master/Slave 结构,Master 中有 NameNode 和 ResourceManager,Slave 中有 Datanode 和 NodeManag…

异构网络小入

A Survey of Heterogeneous Information Network Analysis Heterogeneous Graph Attention Network 异构网络很火吗? 在一个网络中,不用节点的类型不同,这是肯定的。 所以,异构网络在表征比较复杂的情形时,是比较合适…

基于图像识别的小车智能寻迹控制系统

目录 摘要…… I Abstract II 基于图像识别的智能寻迹控制系统设计 I Design of Intelligent tracking Control system based on Image recognition II 目录 III 第1章 绪论 1 1.1 课题背景 1 1.1 国内外文献综述 1 1.2 论文研究内容 2 第2章 基于图像识别的智能寻迹控制系统方…

【安装Ubuntu18.04遇到的问题】未找到WIFI适配器

大家好,我是小政。好久没有更新文章,近期开始陆续分享一些研究生阶段正在学习的知识和遇到的一些问题。 联想拯救者Y9000P关于安装Ubuntu未找到WIFI适配器的解决方法1.Ubuntu18.042.网卡信息3.解决方法(1)用手机USB连接电脑提供网…

动态规划--树型dp

6个题1. 树的最长路径2.树的中点.由于第三题需要用到一些数学地知识,所以先去补一补数学知识。连接链接在这里4.二叉苹果树5.战略游戏6.皇宫守卫1. 树的最长路径 定义:树中两个点直接的最远距离称为树的直径 先说一个结论 先任意找到一个树中一个点u&am…

分布式协调系统ZooKeeper实践与原理剖析

基础的一些知识,高阶知识后续看看补充 第一章 ZooKeeper概述 1.1 介绍 What is ZooKeeper? Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination ZooKeeper is…

大学生静态HTML网页设计--公司官网首页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 公司官网网站 | 企业官网 | 酒店官网 | 等网站的设计与制 HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS&#xf…

SpringIoc依赖查找-5

1. 依赖查找的今世前生: Spring IoC容器从Java标准中学到了什么? 单一类型依赖查找 JNDI - javax.naming.Context#lookup(javax.naming.Name) JavaBeans - java.beans.beancontext.BeanContext 集合类型依赖查找 java.beans.beancontext.BeanContext 集合查找方法 层…

sqli-labs/Less-51

这一关的欢迎界面依然是以sort作为注入点 我们首先来判断一下是否为数字型注入 输入如下 sortrand() 对尝试几次 发现页面并没有发生变化 说明这道题的注入类型属于字符型 然后尝试输入以下内容 sort1 报错了 报错信息如下 我们从报错信息可以知道这道题的注入类型属于单…

期末前端web大作业——HTML+CSS+JavaScript仿京东购物商城网页制作(7页)

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

#边学边考 必修5 高项:对人管理 第2章 项目沟通管理和干系人管理

答题报告 自我分析 有可能是间隔时间太长,本章节从开始学习到今天(11.24)学完,中间至少停止了1周以上,造成对基本知识记忆不牢固。对重点知识没有重点记忆,走马观花,以至于混淆。 答题解析 关…

MySQL 进阶 图文详解InnoDB储存引擎

前言 SQL 语句的最终执行者是存储引擎。存储引擎在经解析器、优化器处理后被执行器调用其接口执行优化后的执行计划。MySQL 存储引擎包括 InnoDB、Myisam、Memory、Archive、CSV 存储引擎等,其中最常用也是MySQL 默认的存储引擎是 InnoDB。 写入缓冲池(…

用DIV+CSS技术设计的水果介绍网站(web前端网页制作课作业)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

软件测试面试技巧有哪些?可以从这2个方面去进行准备

面试所有只职场人,通往工作岗位的第一道关卡,也是最重要的一道门槛。而面试中,如何回答HR提出的问题很大程度上决定了面试能不能成功。所以这些软件测试的面试技巧你可不能错过了。 首先是自我介绍 自我介绍的时间不能太短,几十秒…