基于 Spring Boot 3.5.x + Sa-Token + MyBatis 企业级文件管理系统

安装与快速上手

环境要求

  • JDK 17+
  • Maven 3.8+
  • MySQL 8.0+ 或 PostgreSQL 14+(二选一)
  • Redis
  • LibreOffice (可选,用于 Office 文档预览功能)

安装步骤

复制代码
git clone https://gitee.com/dromara/free-fs.git
cd free-fs
mvn clean install -DskipTests

数据库初始化

MySQL:

复制代码
CREATE DATABASE `free-fs` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';

PostgreSQL:

复制代码
CREATE DATABASE free-fs ENCODING 'UTF8' LC_COLLATE='zh_CN.UTF-8' LC_CTYPE='zh_CN.UTF-8';

数据库创建完成之后,导入项目根目录下对应的 SQL 文件到刚创建的数据库中:

  • MySQL: _sql/mysql/free-fs.sql
  • PostgreSQL: _sql/postgresql/free-fs_pg.sql

配置与运行

修改 fs-admin/src/main/resources/application-dev.yml 中的数据库和 Redis 配置:

复制代码
cd fs-admin
mvn spring-boot:run

访问地址:

《SpringAI 智能面试平台+RAG 知识库》配套实战项目教程正在更新,涉及到 Prompt Engineering、大模型集成、RAG(检索增强生成)、高性能对象存储与向量数据库。后续的话,还会同步上Agent 项目。

内容非常全面,非常适合想要实战 AI 项目或者准备 AI 大模型应用开发岗位面试的朋友,来一张刚写完的3.4w 字+35 道题目 的 RAG 面试题总结,大家感受一下(点此链接了解: 星球):

技术架构

技术栈选型

后端用 Spring Boot 3.5.4,搭配 MyBatis Flex 做 ORM 层。

MyBatis Flex 是 MyBatis 的增强版,和 MyBatis-Plus 有些差异:

MyBatis Flex 的详细介绍可以参考这篇文章:再见 MyBatis,这款 ORM 框架确实太优雅!!

认证授权用 Sa-Token,比 Spring Security 简洁。数据库支持 MySQL 8.0+ 和 PostgreSQL 14+,HikariCP 连接池,配合 Caffeine 本地缓存和 Redis 分布式缓存。

项目结构

多模块 Maven 结构:

存储插件用 SPI 设计,storage-plugin-core 定义接口,各存储实现添加新插件模块就行。

与其他方案对比

对比维度 Free-FS MinIO Nextcloud Seafile
技术栈 Spring Boot 3.x Go PHP Go/C
定位 后端服务 对象存储 完整网盘 完整网盘
大文件上传 分片/断点续传/秒传 需自行实现 支持 支持
在线预览 多格式支持 需自行实现 支持 支持
多云存储 插件化切换 单一 支持 支持
权限管理 Sa-Token 细粒度 简单 细粒度 细粒度
部署难度 中(需数据库)
开源协议 Apache 2.0 AGPL v3 AGPL v3 GPL-3.0

只做对象存储的话 MinIO 更合适;需要完整网盘 UI 和协作功能的话 Nextcloud 或 Seafile 更好;需要一个可定制、易集成的文件管理后端,Free-FS 可以考虑。

相关推荐
木雷坞3 小时前
Go 项目实战:用 MLiev IAM 落地企业认证中心
后端·golang·认证
Moment8 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
蝎子莱莱爱打怪8 小时前
🚀 🚀🚀2026年5月GitHub月榜精选:17个项目中挑出10个推荐,实操4个!
人工智能·后端·ai编程
砍材农夫9 小时前
物联网实战:Spring Boot MQTT | MQTT 设备模拟器演示(附源码)
java·spring boot·后端·物联网·spring·netty
我叫黑大帅10 小时前
解决聊天页内部滚轮改为页面滚动问题
javascript·后端·面试
YDS82910 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— Agent执行链路设计之ReAct Loop
java·spring boot·ai·agent·deepseek
IT_陈寒10 小时前
Python的线程池居然把我坑在了垃圾回收这块
前端·人工智能·后端
zhangxingchao11 小时前
AI应用开发八:RAG相关技术总结
前端·人工智能·后端
吴佳浩11 小时前
Go史上最大“打脸”现场来了:泛型方法终于实现了
后端·go
Huyuejia11 小时前
runtime-ask
后端