技术栈
本文基于当前 sz-boot-parent 与 sz-admin 源码中的依赖版本整理。若你在二次开发中调整了父 POM、前端 package.json 或锁定文件,请以你自己的实际依赖为准。
基础环境
| 环境 | 当前要求 | 说明 |
|---|---|---|
| JDK | 21 | 当前主线运行和编译版本。JDK 21 是成熟的 LTS 版本,生态适配和生产验证更充分。 |
| Maven | 3.8+ | 后端构建工具,项目当前开发环境推荐 Maven 3.9.x。 |
| Node.js | >= 20.19.0,推荐 20.19.5 | 前端构建环境。当前 package.json 已声明 engines.node >=20.19.0,CI 示例锁定 Node 20.19.5。 |
| pnpm | 10.17.1 | 前端包管理工具,当前 package.json 通过 packageManager 锁定版本,推荐与锁定文件保持一致。 |
JDK LTS 策略
官方后续会持续跟进 Java LTS 版本,但不会在新 LTS 发布后立即切换主线。JDK 25 后续会纳入支持计划,但会等待一段稳定观察期,确认框架依赖、构建工具、运行环境和常见部署场景都足够平稳后再推进。
后端主线
v2.0.0 主线基于 Spring Boot 4.x 与 JDK 21。历史版本曾支持 Spring Boot 3.x,该历史并不否定,只是当前主线已围绕 Spring Boot 4.x、Jakarta EE 11 与 Spring Framework 7 继续演进。
| 技术 | 当前版本 | 说明 |
|---|---|---|
| Spring Boot | 4.0.6 | 后端核心框架,父 POM 基于 spring-boot-starter-parent。 |
| Spring Framework | Spring Boot 管理 | 由 Spring Boot 4.x 管理,主线面向 Jakarta EE 11。 |
| Sa-Token | 1.45.0 | 权限认证与 Token 管理,当前使用 Spring Boot 4 starter。 |
| MyBatis-Flex | 1.11.7 | ORM 与 Mapper 增强框架,支持 APT 代码生成。 |
| MyBatis | 3.5.19 | MyBatis-Flex 底层依赖之一。 |
| MyBatis Spring | 4.0.0 | Spring Boot 4 相关适配。 |
| Liquibase | Spring Boot 管理 | 数据库版本控制工具,当前主线使用 XML changelog 管理框架和模块级数据库变更。 |
| Springdoc OpenAPI | 2.8.14 | 当前接口文档主线,提供 OpenAPI JSON 与 Swagger UI。 |
| Jackson | 3.1.3 | JSON 处理与 Redis 序列化等场景使用。 |
| ModelMapper | 3.2.6 | 对象映射工具,用于 DTO、VO、PO 等对象转换场景。 |
| Hutool | 5.8.39 | 通用工具能力,当前使用 core、jwt、json 等模块。 |
| Lombok | 1.18.42 | 简化实体、DTO、配置类等样板代码。 |
| AspectJ Weaver | 1.9.24 | AOP 增强能力。 |
| Transmittable Thread Local | 2.14.5 | 跨线程上下文传递能力。 |
数据库与资源
| 技术 | 当前版本 | 说明 |
|---|---|---|
| MySQL Connector/J | 9.4.0 | MySQL 数据库驱动。 |
| PostgreSQL JDBC Driver | 42.7.5 | PostgreSQL 数据库驱动。 |
| HikariCP | 7.0.2 | JDBC 连接池。 |
| PageHelper | 6.1.1 | 分页插件,集成在数据库通用能力中。 |
| Redis | Spring Boot 管理 | 用于登录态、缓存和 WebSocket Pub/Sub 等场景。 |
| AWS S3 SDK | 2.32.29 | 兼容 S3 协议的对象存储客户端,支撑 MinIO、阿里云 OSS、腾讯云 COS 等厂商接入。 |
| AWS CRT | 0.38.11 | S3 Transfer Manager 等能力依赖。 |
| FastExcel | 1.2.0 | Excel 导入导出主线能力。 |
| Apache POI | 5.4.0 | Excel 底层处理依赖之一。 |
| ip2region | 3.1.0 | IP 归属地解析,用于日志等场景。 |
| yauaa | 7.32.0 | User-Agent 解析,用于登录日志、操作日志等设备信息识别。 |
前端主线
| 技术 | 当前版本 | 说明 |
|---|---|---|
| Vue | ^3.5.35 | 前端核心框架。 |
| Vite | 7.3.3 | 前端构建工具。 |
| TypeScript | ~5.2.2 | 静态类型检查。 |
| Element Plus | ^2.14.0 | UI 组件库。 |
| Pinia | ^3.0.4 | 状态管理。 |
| pinia-plugin-persistedstate | ^4.7.1 | Pinia 状态持久化,配置字段使用 pick。 |
| Vue Router | ^5.0.7 | 路由管理。 |
| Vue I18n | ^9.14.5 | 国际化能力。 |
| Axios | 1.16.1 | HTTP 客户端。 |
| VueUse | ^14.3.0 | Vue 组合式工具函数。 |
| mitt | ^3.0.1 | 轻量事件总线。 |
| highlight.js | ^11.11.1 | 代码高亮,用于代码预览等场景。 |
| jodit | ^4.12.2 | 富文本编辑器。 |
| vue-cropper | ^1.1.4 | 图片裁剪,项目当前包含本地 patch。 |
| sortablejs | ^1.15.7 | 拖拽排序能力。 |
| screenfull | ^6.0.2 | 全屏能力。 |
工程与质量工具
| 技术 | 当前版本 | 说明 |
|---|---|---|
| Maven Compiler Plugin | 3.14.1 | 后端编译插件。 |
| Maven Surefire Plugin | 3.5.5 | 单元测试执行插件。 |
| Maven Failsafe Plugin | 3.5.5 | 集成测试执行插件。 |
| Flatten Maven Plugin | 1.7.3 | Maven 版本与发布元数据处理。 |
| Spotless Maven Plugin | 2.44.5 | Java 代码格式化约束。 |
| ESLint | ^9.39.4 | 前端代码检查。 |
| Prettier | ^3.8.3 | 前端格式化工具。 |
| vue-tsc | ^2.2.12 | Vue + TypeScript 类型检查。 |
| Sass | ~1.100.0 | 样式预处理。 |
重要替换与历史说明
NOTE
Spring Boot 3.x:历史版本曾支持,v2.0.0 主线已切换到 Spring Boot 4.x。
Flyway:历史数据库迁移方案,当前主线已切换为 Liquibase。
EasyExcel:历史 Excel 处理方案,当前主线已切换为 FastExcel。
MinIO Java SDK:历史对象存储 SDK,当前主线使用兼容 S3 协议的 AWS S3 SDK;MinIO 仍可作为 S3 兼容存储服务使用。
Knife4j UI:Spring Boot 4.x 主线暂停作为官方推荐入口,当前接口文档以 Springdoc OpenAPI / Swagger UI 为主。
选型取舍
Sz-Admin 的技术栈选择不是为了追求“越新越好”,而是在新版本生态、长期维护、生产稳定性和二次开发成本之间取平衡。
后端侧优先跟随 Java LTS、Spring Boot 主线和 Jakarta 生态演进,同时保留 MySQL / PostgreSQL 双数据库兼容、Liquibase 结构化迁移和模块化扩展能力。
前端侧优先保持 Vue 3、Vite、Element Plus、Pinia 这条主线,减少过度封装,让二次开发者更容易定位问题、替换模块和跟进官方升级。
