跳到主要内容

项目介绍

Personal Blog Backend 是一个基于 Spring Boot 3 + Java 21 构建的现代化个人博客后端系统,采用模块化单体架构设计,兼顾开发效率与架构演进能力。

� 5 分钟快速上手

已经迫不及待了?直接跳转到 快速启动指南 开始你的第一个 API 调用!


✨ 核心亮点

🏗️ 模块化单体架构

API/Service 双层分离,严格的模块依赖规则,随时可拆分为微服务

🔐 JWT 认证授权

Spring Security 6 多链配置,支持 RBAC 角色权限控制

💾 智能缓存策略

Redis + Caffeine 二级缓存,注解驱动,开箱即用

🧪 架构守护测试

ArchUnit 自动验证依赖规则,防止架构腐化


🛠️ 技术栈

分类技术版本说明
核心框架Spring Boot3.5.7最新 LTS 版本
开发语言Java21LTS,支持虚拟线程
持久层MyBatis-Plus3.5.14增强型 ORM 框架
数据库MySQL8.0+主数据存储
缓存Redis + Caffeine-分布式 + 本地二级缓存
认证Spring Security + JWTJJWT 0.13.0无状态 Token 认证
API 文档SpringDoc OpenAPI2.8.14Swagger UI 自动生成
对象映射MapStruct1.6.3编译期高性能转换
架构测试ArchUnit1.4.1架构规则自动验证

�️ 架构概览

┌─────────────────────────────────────────────────────────┐
│ blog-application │
│ (启动入口 + 全局配置) │
└─────────────────────────────────────────────────────────┘
│ 依赖
┌──────────────────┼──────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ system-service│ │article-service│ │ file-service │
│ (用户/角色) │ │ (文章) │ │ (S3 存储) │
└───────────────┘ └───────────────┘ └───────────────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ system-api │ │ article-api │ │ file-api │
│ (DTO/VO) │ │ (DTO/VO) │ │ (DTO/VO) │
└───────────────┘ └───────────────┘ └───────────────┘


┌─────────────────────────────────────────────────────────┐
│ blog-common │
│ (BaseServiceImpl, 异常, 工具类, 安全) │
└─────────────────────────────────────────────────────────┘

设计原则

规则说明
API-Service 分离每个模块包含 api (DTO/VO) 和 service (实现) 两层
单向依赖Service → API → Common,禁止反向依赖
禁止跨模块调用Service 之间不能直接调用,通过 API 接口解耦
禁止跨模块 JOINSQL 不能跨模块关联,为微服务拆分做准备

� 业务模块

模块状态功能描述
blog-system✅ 已完成用户注册/登录、角色管理、JWT 认证
blog-article🚧 开发中文章发布、编辑、分类、标签
blog-comment📋 规划中评论、回复、点赞
blog-file✅ 已完成S3 兼容存储(Bitiful)、预签名上传

🚀 快速开始

环境要求

  • JDK 21+下载 OpenJDK
  • 📦 Maven 3.6+下载 Maven
  • 🗄️ MySQL 8.0+ — 主数据库
  • 🔴 Redis 6.0+ — 缓存服务(可选)

30 秒预览

# 克隆项目
git clone https://github.com/liusxml/personal-blog-backend.git
cd personal-blog-backend

# 配置数据库(修改 application.yaml)
# 启动应用
mvn spring-boot:run -pl blog-application

# 访问 API 文档
open http://localhost:8080/swagger-ui.html

👉 详细步骤请查看 快速启动指南


📚 学习路径

🌱 入门路径

  1. 快速启动 — 5 分钟运行项目
  2. 架构总览 — 理解系统设计
  3. API 文档 — REST API 使用指南
  4. 开发规范 — 编码标准

🌳 进阶路径

  1. Base Framework — 核心框架解析
  2. Security 配置 — 认证授权机制
  3. 缓存策略 — 性能优化
  4. ArchUnit 测试 — 架构守护实践

� 相关链接

资源链接
� GitHub 仓库liusxml/personal-blog-backend
📖 在线文档 (Cloudflare)personal-blog-docs.pages.dev
📖 在线文档 (Vercel)personal-blog-docs-bice.vercel.app
🐛 问题反馈GitHub Issues

📄 开源协议

本项目基于 MIT License 开源,欢迎使用和贡献!


准备好了吗? 👉 开始快速启动