服务端
技术栈介绍
Free FS 服务端使用的核心技术和框架。
核心框架
- Spring Boot 3.5.4 - 企业级应用框架
- MyBatis Flex 1.11.1 - 轻量级 ORM 框架
- Sa-Token 1.44.0 - 轻量级权限认证框架
数据存储
工具库
- Hutool 5.8.28 - Java 工具类库
- Guava 33.5.0 - Google 核心工具库
- Apache Commons Lang3 3.18.0 - Apache 通用工具库
- Apache Commons IO 2.11.0 - IO 工具库
- Transmittable Thread Local 2.14.4 - 阿里线程池增强
文件处理
- Apache Tika 2.7.0 - 文件类型检测
- Thumbnailator 0.4.19 - 图片处理工具
- JODConverter - Office 文档转换(基于 LibreOffice)
对象转换
- MapStruct Plus 1.5.0 - 对象映射工具
API 文档
- SpringDoc OpenAPI 2.8.13 - 自动生成 API 文档(OpenAPI 3)
存储平台支持
- 本地存储 - 本地文件系统
- RustFS - 对象存储服务
- 阿里云 OSS 3.18.1 - 对象存储服务
- 七牛云 Kodo - 对象存储服务
- AWS S3 SDK 2.25.27 - S3 兼容存储
- 各类 S3 体系云存储
📁 项目结构
free-fs/
├── fs-admin/ # Web 管理模块
├── fs-dependencies/ # 依赖版本管理(BOM)
├── fs-framework/ # 框架层
│ ├── fs-common-core/ # 公共核心模块
│ ├── fs-notify/ # 通知模块
│ ├── fs-orm/ # ORM 配置模块
│ ├── fs-preview/ # 预览封装模块
│ ├── fs-redis/ # Redis 配置模块
│ ├── fs-security/ # 安全认证模块
│ ├── fs-swagger/ # API 文档配置
│ ├── fs-websocket/ # WebSocket 支持
│ └── fs-storage-plugin/ # 存储插件框架
│ ├── storage-plugin-core/ # 插件核心接口
│ ├── storage-plugin-local/ # 本地存储插件
│ ├── storage-plugin-aliyunoss/ # 阿里云 OSS 插件
│ └── storage-plugin-rustfs/ # RustFS 插件
└── fs-modules/ # 业务模块
├── fs-file/ # 文件管理模块
├── fs-storage/ # 存储平台管理模块
├── fs-system/ # 系统管理模块
├── fs-log/ # 日志模块
└── fs-plan/ # 计划任务模块其他依赖
- IP2Region 2.7.0 - IP 地址定位库
技术亮点
- ⚡ 高性能 - Undertow 服务器,异步处理,支持高并发
- 🔐 安全认证 - Sa-Token JWT 无状态认证,支持分布式部署
- 🏗️ 模块化设计 - 清晰的分层架构,职责明确
- 🔌 插件化存储 - SPI 机制,无需修改核心代码即可扩展
- 📡 实时通信 - WebSocket 实时推送上传进度和通知
- 🗄️ 数据持久化 - MyBatis Flex 轻量级 ORM,性能优异
- 📝 API 文档 - SpringDoc OpenAPI 3,自动生成接口文档
- 🚀 现代化技术栈 - Spring Boot 3.5.4 + Java 17,拥抱最新技术
- 🛠️ 丰富工具库 - Hutool、Guava 等工具库,提升开发效率
- 🖼️ 文件处理 - 支持图片处理、文件类型检测、Office 文档转换