基于 Spring Boot 3 + JPA/MyBatis-Plus + PostgreSQL 的博客后端 API。
cd server/
# 1. 配置环境变量
cp env.example .env
# 编辑 .env 配置数据库连接、邮箱、JWT 密钥
# 2. 创建数据库
# CREATE DATABASE blog;
# 3. 启动
mvn spring-boot:run
服务运行在 http://localhost:8090
| 变量 | 说明 | 必需 |
|---|---|---|
TOKEN_SECRET |
JWT 签名密钥 | ✓ |
PG_PASSWORD |
PostgreSQL 密码 | ✓ |
EMAIL_USERNAME |
邮箱用户名 | ✓ |
EMAIL_PASSWORD |
邮箱 SMTP 授权码 | ✓ |
REDIS_PASSWORD |
Redis 密码 | ✓ |
完整配置参考 env.example。
mvn clean package
java -jar target/blog.jar --spring.profiles.active=prod
# 一键启动 PostgreSQL + Redis + 后端
docker compose up -d
详细说明: DOCKER_DEPLOYMENT.md
server/
├── .mvn/
│ └── wrapper/ # Maven Wrapper 配置
├── migrations/ # 数据库迁移脚本
├── src/
│ ├── main/
│ │ ├── java/com/example/blog/
│ │ │ ├── config/ # 配置类 (Swagger, 定时任务, Jackson)
│ │ │ ├── constants/ # 常量定义
│ │ │ ├── dao/ # 数据访问层 (JPA Repository)
│ │ │ ├── DTO/ # 数据传输对象
│ │ │ ├── enums/ # 枚举类型
│ │ │ ├── filter/ # 过滤器 (XSS, URL 长度校验)
│ │ │ ├── handler/ # 全局异常处理
│ │ │ ├── interceptor/ # 拦截器 (JWT Token)
│ │ │ ├── po/ # 实体类
│ │ │ ├── service/
│ │ │ │ └── impl/ # 业务逻辑实现类
│ │ │ ├── util/ # 工具类
│ │ │ ├── vo/ # 视图对象
│ │ │ └── web/
│ │ │ └── admin/ # 管理员接口控制器
│ │ └── resources/
│ │ └── application.properties # 应用配置文件
│ └── test/
│ └── java/com/example/blog/
│ ├── constants/ # 常量测试
│ ├── po/ # 实体类测试
│ ├── util/ # 工具类测试
│ └── web/ # 接口测试
├── test.py # 安全 & 功能回归测试 (Python)
├── stress_test.py # 压力测试 (Python)
├── docker-compose.yml
├── Dockerfile
└── pom.xml