基于 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 可以考虑。

相关推荐
用户0953675158323 分钟前
Go:浮点数如何进行比较?
后端·go
Zeus_27 分钟前
如何更好的创建skill
后端
千云27 分钟前
AI Coding 落地探索日志 · 初篇 · 启程记
后端·ai编程
子兮曰42 分钟前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端
子兮曰1 小时前
Ruflo 深度解析:49K Stars 的 AI Agent 编排平台 — 给 Claude Code 装上分布式神经系统
前端·后端·ai编程
代码丰1 小时前
大模型 + RAG 幻觉治理方案总结
后端
小村儿1 小时前
(译文)重温:Karpathy 的 4 条 CLAUDE.md 规则将 Claude 错误率从 41% 降至 11%——历经 30 个代码库后,我又加了 8 条
前端·后端·ai编程
user69600737566171 小时前
3个前端性能优化技巧,我用后页面加载快了80%
后端
源码集结号1 小时前
基于 Spring Boot + JPA + MySQL的上门家政系统代码示例
java·前端·后端
该用户已不存在1 小时前
别再把 Claude 当聊天框,Claude Code CLI 安装与上下文管理指北(Part 1)
后端·ai编程·claude