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

相关推荐
边境悍匪7 分钟前
蜗牛学苑 Java 智能体学习 Day44|Vue 前端项目搭建 思维导图复盘
java·开发语言·spring boot·学习·阿里云
用户EasyAdminBlazor37 分钟前
EasyAdminBlazor 2.3 源码架构解析:Blazor Admin 请求到底是怎么跑起来的?
后端
企业数字化笔记38 分钟前
一批相同的电脑怎么建账?数量管理、单件编码和拆分规则
java·后端·电脑
初学AI的小高44 分钟前
从LangGraph到DeepAgents:理解AgentHarness
后端·agent
摇滚侠1 小时前
《Spring Boot 3:高级与架构设计》第 1 章 元编程与元信息 个人理解 1
java·spring boot·笔记·后端
对象存储与RustFS1 小时前
跨实现迁移 MinIO→RustFS:mc diff 静默返回才是最容易翻车的一步
后端·rust·开源
吃饱了得干活1 小时前
Java 单点登录实战:一条主线看懂 Session 共享、CAS 与 OAuth2+JWT
java·后端
RuoyiOffice1 小时前
SpringBoot3+Vue3 流程抄送已读:打开详情消红点,待办与知会怎么分开
spring boot·vue3·flowable·spring boot 3·ruoyi office·流程抄送·已读回执