基于Springboot+VUE开发的前后端分离博客系统
公告:铁柱资源网为用户提供最新的原创技术教程,还有电脑技巧以及其他日常信息 游戏资讯等 让我们的生活更加精彩有乐趣!铁柱网原先域名:qq8m.com,部分地区打不开,新域名:qq8m.com,qq8m.com,qq8m.com重要的事情说三遍
铁柱资源网网站源码基于Springboot+VUE开发的前后端分离博客系统

基于Springboot+VUE开发的前后端分离博客系统

网站源码傲轩小编2026-07-17 11:30:441.71 KA+A-
一套完整的前后端分离博客系统。前端 Vue 3 + TypeScript + Vite 5 + Element Plus,后端 Spring Boot 2.7 + MyBatis-Plus + MySQL + Spring Security(JWT)

项目地址[td]

仓库地址子目录
前端 blog-clienthttps://github.com/vfaner/blog-client./blog-client
后端 blog-serverhttps://github.com/vfaner/blog-server./blog-server
如果本项目对你有帮助,欢迎点一个  Star,这是对我持续维护开源项目最大的支持!

 技术栈总览前端 blog-client

  • Vue 3.4(Composition API + <script setup>)
  • TypeScript 5.5
  • Vite 5.4
  • Element Plus 2.7
  • Vue Router 4 / Vuex 4
  • Axios 1.7
  • ECharts 5.5(Dashboard 图表)
  • TinyMCE 6(文章富文本编辑器)
  • undraw-ui(评论组件)


后端 blog-server

  • JDK 17
  • Spring Boot 2.7.18
  • Spring Security + JWT (jjwt 0.12.6)
  • MyBatis-Plus 3.5.5(单表 CRUD)
  • MyBatis XML Mapper(多表关联查询,方便手工优化 SQL)
  • MySQL 8.x
  • SpringDoc OpenAPI 1.8.0(Swagger UI)
  • Lombok
  • BCryptPasswordEncoder


 功能特性前台

  • 首页动态卡片(可自由配置分类/标签及展示条数)
  • 分类页、标签页、搜索、文章详情
  • 嵌套评论、回复、点赞、打赏
  • 动态页面标题(分类页 = 分类名,标签页 = 标签名,详情页 = 文章标题)
  • 首页登录弹窗 & 独立登录页两种登录方式
  • 移动端底部导航(可开关,任意菜单项可配置)
  • 文章阅读量、点赞数统计


后台

  • 仪表盘(实时统计 + ECharts 图表)
  • 文章 / 分类 / 标签 / 评论 / 友链 / 菜单 / 角色 / 用户管理
  • 完全动态的路由和菜单(后端下发)
  • 支持文章附件下载配置
  • 操作日志、接口文档(内嵌 Swagger)


系统

  • JWT 鉴权、角色/菜单权限控制
  • 首次启动自动补齐数据库缺失字段并 BCrypt 加密管理员密码
  • 评论回复自动继承父评论的 articleId



 快速开始环境要求[td]

组件版本
JDK17+
Maven3.6+
MySQL8.x
Node.js18+

1. 启动后端cd blog-server

创建数据库:

CREATE DATABASE blog DEFAULT CHARACTER SET utf8mb4;

修改 src/main/resources/application.yml 中的 spring.datasource.password 为你的 MySQL 密码,然后:

mvn spring-boot:run

启动后:
  • 后端接口:http://localhost:8090/rgh/api
  • Swagger 文档:http://localhost:8090/swagger-ui/index.html
  • 表结构与初始数据由 db/schema.sql + db/data.sql 自动执行


2. 启动前端cd blog-client
npm install
npm run dev

默认访问:http://localhost:8080
vite.config.ts 中配置的端口为 8080;若被占用会自动顺延(8081、8082…),启动时终端会打印实际端口。后端 SecurityConfig 已放行 http://localhost:* 与 http://127.0.0.1:* 的跨域请求,任意本地端口都能直接联调。

3. 默认账号[td]

用户名密码
admin123456
DataInitializer 首次启动会自动把 admin 密码用 BCrypt 加密写回数据库。


 项目结构.
├── blog-client/            # 前端 Vue 3 项目
│   ├── src/
│   │   ├── api/            # 接口封装
│   │   ├── common/         # 前台通用组件
│   │   ├── composables/    # 组合式函数
│   │   ├── layout/         # 后台布局
│   │   ├── router/         # 路由
│   │   ├── store/          # Vuex
│   │   └── views/          # 后台页面
│   ├── vite.config.ts
│   └── package.json
├── blog-server/            # 后端 Spring Boot 项目
│   ├── src/main/java/com/rgh
│   │   ├── conf/           # 安全、CORS、Swagger 配置
│   │   ├── controller/     # REST 接口
│   │   ├── entity/         # 实体
│   │   ├── mapper/         # MyBatis Mapper
│   │   ├── service/        # 业务层
│   │   └── vo/             # 视图对象
│   ├── src/main/resources/
│   │   ├── mapper/         # XML Mapper(多表关联查询)
│   │   ├── db/schema.sql   # 建表
│   │   ├── db/data.sql     # 初始数据
│   │   └── application.yml
│   └── pom.xml
└── README.md               # 就是本文件
 各端模块 README

  • 前端详细说明:./blog-client/README.md
  • 后端详细说明:./blog-server/README.md
    基于Springboot+VUE开发的前后端分离博客系统 基于Springboot+VUE开发的前后端分离博客系统 基于Springboot+VUE开发的前后端分离博客系统 基于Springboot+VUE开发的前后端分离博客系统 基于Springboot+VUE开发的前后端分离博客系统 基于Springboot+VUE开发的前后端分离博客系统 基于Springboot+VUE开发的前后端分离博客系统


点击这里复制本文地址 以上内容由铁柱网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!


扫码关注“铁柱网”微信公众号
更多精彩,等你来撩

有好的文章或资源希望【铁柱网】帮助分享推广,猛戳这里我要投稿

支持Ctrl+Enter提交
qrcode

铁柱资源网 © All Rights Reserved.  

嘿,欢迎咨询
请先 登录 再评论,若不是会员请先 注册