Skip to content

技术栈

本文基于当前 sz-boot-parentsz-admin 源码中的依赖版本整理。若你在二次开发中调整了父 POM、前端 package.json 或锁定文件,请以你自己的实际依赖为准。

基础环境

环境当前要求说明
JDK21当前主线运行和编译版本。JDK 21 是成熟的 LTS 版本,生态适配和生产验证更充分。
Maven3.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。
pnpm10.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 Boot4.0.6后端核心框架,父 POM 基于 spring-boot-starter-parent
Spring FrameworkSpring Boot 管理由 Spring Boot 4.x 管理,主线面向 Jakarta EE 11。
Sa-Token1.45.0权限认证与 Token 管理,当前使用 Spring Boot 4 starter。
MyBatis-Flex1.11.7ORM 与 Mapper 增强框架,支持 APT 代码生成。
MyBatis3.5.19MyBatis-Flex 底层依赖之一。
MyBatis Spring4.0.0Spring Boot 4 相关适配。
LiquibaseSpring Boot 管理数据库版本控制工具,当前主线使用 XML changelog 管理框架和模块级数据库变更。
Springdoc OpenAPI2.8.14当前接口文档主线,提供 OpenAPI JSON 与 Swagger UI。
Jackson3.1.3JSON 处理与 Redis 序列化等场景使用。
ModelMapper3.2.6对象映射工具,用于 DTO、VO、PO 等对象转换场景。
Hutool5.8.39通用工具能力,当前使用 core、jwt、json 等模块。
Lombok1.18.42简化实体、DTO、配置类等样板代码。
AspectJ Weaver1.9.24AOP 增强能力。
Transmittable Thread Local2.14.5跨线程上下文传递能力。

数据库与资源

技术当前版本说明
MySQL Connector/J9.4.0MySQL 数据库驱动。
PostgreSQL JDBC Driver42.7.5PostgreSQL 数据库驱动。
HikariCP7.0.2JDBC 连接池。
PageHelper6.1.1分页插件,集成在数据库通用能力中。
RedisSpring Boot 管理用于登录态、缓存和 WebSocket Pub/Sub 等场景。
AWS S3 SDK2.32.29兼容 S3 协议的对象存储客户端,支撑 MinIO、阿里云 OSS、腾讯云 COS 等厂商接入。
AWS CRT0.38.11S3 Transfer Manager 等能力依赖。
FastExcel1.2.0Excel 导入导出主线能力。
Apache POI5.4.0Excel 底层处理依赖之一。
ip2region3.1.0IP 归属地解析,用于日志等场景。
yauaa7.32.0User-Agent 解析,用于登录日志、操作日志等设备信息识别。

前端主线

技术当前版本说明
Vue^3.5.35前端核心框架。
Vite7.3.3前端构建工具。
TypeScript~5.2.2静态类型检查。
Element Plus^2.14.0UI 组件库。
Pinia^3.0.4状态管理。
pinia-plugin-persistedstate^4.7.1Pinia 状态持久化,配置字段使用 pick
Vue Router^5.0.7路由管理。
Vue I18n^9.14.5国际化能力。
Axios1.16.1HTTP 客户端。
VueUse^14.3.0Vue 组合式工具函数。
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 Plugin3.14.1后端编译插件。
Maven Surefire Plugin3.5.5单元测试执行插件。
Maven Failsafe Plugin3.5.5集成测试执行插件。
Flatten Maven Plugin1.7.3Maven 版本与发布元数据处理。
Spotless Maven Plugin2.44.5Java 代码格式化约束。
ESLint^9.39.4前端代码检查。
Prettier^3.8.3前端格式化工具。
vue-tsc^2.2.12Vue + 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 这条主线,减少过度封装,让二次开发者更容易定位问题、替换模块和跟进官方升级。