技术栈
Java 后端的依赖版本由根 pom.xml 管理。下面说明各技术的实际用途;具体补丁版本请读取交付版本 POM,升级时同步核对兼容性与测试。
只想运行项目时,先按 准备工作 安装所需工具。本页用于开发选型和定位依赖,表中的库已通过 Maven 声明,不需要逐个手动下载安装。
当前后端以 MySQL 8 为实现和验证目标。由于迁移、排序规则和业务 SQL 使用 MySQL 特性,不能只替换 JDBC 驱动便认定支持 PostgreSQL、Oracle 或其他数据库。
核心组成
| 层次 | 技术 | 在项目中的职责 |
|---|---|---|
| 语言与构建 | Java 21、Maven Wrapper | 编译、运行与多模块依赖管理 |
| 应用框架 | Spring Boot 3.5 系列、Spring MVC | HTTP、依赖注入、配置与应用装配 |
| 数据访问 | MyBatis-Plus、MyBatis XML、Druid | 实体与 SQL 映射、分页、连接池 |
| 数据库 | MySQL 8 | 业务数据、状态、事务与行锁 |
| 数据版本 | Flyway | 首次初始化与后续增量迁移 |
| 缓存与共享状态 | Redis、Spring Data Redis | 缓存、登录态、验证码、临时凭证、任务锁与通知信号 |
| 登录与密码 | Sa-Token、BCrypt、RSA | 令牌/会话、密码散列及密码传输加密 |
| 审批 | 内嵌 Flowable 7.0.1 | 服务端编译的 BPMN、任务与流程运行 |
| 接口说明 | SpringDoc / OpenAPI | 本地接口查看与联调 |
| 存储 | 本地文件、MinIO SDK、阿里云 OSS SDK | 私有对象存储和文件访问 |
| AI 代理 | JDK HttpClient、SSE | 上游流式聊天与浏览器增量回复 |
| 验证 | JUnit、Mockito、H2、隔离集成脚本 | 单元、契约、架构和真实依赖验证 |
不同角色需要的环境
- 本地后端开发:JDK 21。仓库自带
mvnw/mvnw.cmd,无需预装 Maven。 - 配套前端与便捷开发脚本:Node.js 20.19+、pnpm 8.8+。
- 随包数据服务与集成验收:Docker、Compose v2,支持
--wait。 - 客户 Docker 部署:服务器安装 Docker 与 Compose 即可,镜像内完成 Java 构建运行。
- JAR 部署:构建环境需要 JDK 21;运行环境需要 Java 21 及已准备的 MySQL / Redis。
开发前先确认
bash
java -version
./mvnw -versionWindows PowerShell 将 ./mvnw 替换为 .\mvnw.cmd,IDE 项目 SDK、Maven 导入与运行配置都使用 JDK 21。Node.js 不替代 JDK,Docker 数据服务启动也不代表 Java 应用已启动。
