ReactAdmin 是一个基于 RBAC(基于角色的访问控制)模式的经典后台管理系统。该项目采用前后端分离架构,系统非常简约,只有7张表,但是五脏俱全,简化了学习成本。欢迎各位提出ISSUE或一起开发!
- 编程语言: Java 21
- 框架: Spring Boot 3.2.0
- 持久层: MyBatis-Plus 3.5.15
- 安全认证: Sa-Token 1.40.0
- 数据库连接池: Druid 1.2.20
- 文档工具: Knife4j 4.4.0
- 后端仓库: ReactAdmin
- 运行环境: Node.js 22.17.0
- React版本: 19.x
- 构建工具: Vite 7.x
- UI框架: Ant Design React 5.x
- 前端仓库: ReactAdminFront
如果没有数据库需要预先安装数据库。执行命令:
mvn clean install参考下面的数据库配置示例,文件存储配置示例,缓存配置示例 修改配置文件 application-dev.yml,并启动项目。
To start the frontend application, simply run these two commands:
npm install
npm run dev项目支持多种主流数据库,可根据实际需求灵活切换:
- MySQL
- SQL Server
- PostgreSQL
- Oracle
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
# SQL Server 配置示例,可以按需改成MySQL,Oracle,PostgreSQL数据库等
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://localhost:1433;DatabaseName=test;encrypt=false
username: sa
password: admin123项目支持多种文件存储方案,满足不同部署环境的需求:
- 本地存储: 直接保存到服务器本地文件系统
- MinIO: 分布式对象存储解决方案
- 阿里云OSS: 阿里云对象存储服务
- 华为云OBS: 华为云对象存储服务(已集成但未启用)
- 七牛云: 七牛云对象存储服务(已集成但未启用)
os:
file:
type: MINIO # 支持 LOCAL, MINIO, ALIYUN 等
local:
base-path: ./uploads # 本地存储路径
minio:
endpoint: http://localhost:9000
access-key: admin
secret-key: password
aliyun:
oss:
endpoint: your-endpoint
access-key-id: your-access-key-id
access-key-secret: your-access-key-secret项目支持多种缓存实现,提升系统性能:
- Redis: 分布式缓存,支持集群部署
- 本地缓存: 基于 Caffeine 的高性能本地缓存
os:
cache:
type: REDIS # 支持 LOCAL, REDIS
redis:
# ip: 10.10.10.181
ip: localhost
port: 6379
password: '123456'
database: 0- 用户管理: 用户账号、个人信息管理
- 角色管理: 权限分配与角色管理
- 菜单管理: 动态菜单配置
- 系统日志: 操作审计日志
- 数据字典: 系统参数配置
- 文件管理: 多存储后端文件管理
- 权限控制: 基于 RBAC 模型的细粒度权限控制
- 身份认证: Sa-Token 实现的会话管理和认证
- 审计日志: 完整的操作记录和审计追踪
项目支持多环境配置(开发、测试、生产),通过 Maven Profile 管理:
- dev: 开发环境
- test: 测试环境
- prod: 生产环境
支持多数据源动态切换,可在配置文件中灵活调整数据库连接参数。
- 中大型企业管理系统的后台支撑
- 需要复杂权限控制的业务系统
- 对数据安全和审计有要求的应用
- 高扩展性: 插件化的存储和缓存系统
- 多环境适配: 一套代码适应不同部署环境
- 开箱即用: 完整的权限管理和基础功能模块
- 技术前沿: 采用最新的 Java 21 和 Spring Boot 3.2.0
ReactAdmin 是一个功能完善、技术先进、扩展性强的企业级后台管理系统模板。其最大的特点是高度解耦的设计,无论是数据库、文件存储还是缓存系统,都可以根据实际需求灵活配置,非常适合需要适配多种技术栈和部署环境的企业级项目。