近日,开源项目 Free-FS 迎来了里程碑式的 v2.2.0 版本更新。本次升级不仅是简单的版本号跃迁,更是一次底层的“脱胎换骨”:我们正式跨越 LTS 版本,直接拥抱 JDK 21 与 Spring Boot 4.x,并实现了全系统的虚拟线程(Virtual Threads)重构。
🚀 核心架构:跨代演进,性能起飞
Free-FS 始终致力于站在 Java 技术栈的最前沿。在 v2.2.0 中,我们完成了以下核心升级:
-
JDK 17 -> JDK 21:正式告别旧时代(v2.1.1 为 JDK 17 的最后支持版本),全面释放新一代 Java 特性带来的性能红利 。
-
Spring Boot 4.0.3:深度适配 Spring 生态最新标准,重构底层配置逻辑 。
-
Web 容器变更:因 Spring Boot 4.x 官方不再支持 Undertow,系统已平滑迁移至经过深度优化的 Tomcat 默认服务器 。
-
其他依赖升级:
|
组件
|
升级后版本
|
|
SpringBoot
|
4.0.3
|
|
Sa-Token
|
1.45.0
|
|
Mybatis Flex
|
1.11.6
|
|
HikariCP
|
7.0.2
|
|
Jackson
|
全面重构至 Jackson 3 (含包名与配置迁移)
|
|
Hutool
|
5.8.28
|
|
SpringDoc
|
3.0.2
|
|
common-lang3
|
3.20.0
|
|
common-io
|
2.21.0
|
⚡ 性能重构:开启“虚拟线程”全覆盖
为了压榨机器性能,v2.2.0 对高并发场景进行了彻底重构:
✨ 功能进化:更安全、更全能
在底层重构的同时,我们也带来了多项实用的功能更新:
-
文件预览安全增强:新增预览独立 Token 认证机制。通过防盗链设计,确保每一份敏感资源的预览都处于安全受控状态 。
-
深度压缩包预览:新增对 zip、7z、tar 等常见压缩格式的支持。不仅支持直接查看,更支持嵌套预览压缩包内的子文件 。
-
华为云 OBS 支持:原生集成华为云对象存储,为用户提供更灵活的多云存储方案 。
-
Jackson 3 全面重构:序列化框架由 Jackson 2 升级至 Jackson 3,优化了 JSON 处理效率并完成了相关包名迁移 。
⚠️ 升级与部署指南
由于本次更新变动较大,请开发者关注以下事项:
-
环境要求:运行环境必须安装 JDK 21(此前版本将无法启动)。
-
配置迁移:Jackson 3 涉及包名改动,若有自定义序列化逻辑,需同步更新引用 。
-
Docker 部署:
关于 Free-FS
Free-FS 是一个基于 Spring Boot 4.x 的企业级文件管理网盘系统后端,专注于提供高性能、高可靠的文件存储和管理服务。
项目地址:
Gitee:[https://gitee.com/dromara/free-fs]
Github:[https://github.com/dromara/free-fs]
文档地址: [https://free-fs.top]
欢迎各位开发者试用并提交 PR,让我们一起探索 FS的无限可能!