Files
freedom-admin/README.md
T
2026-08-19 14:45:24 +08:00

5.0 KiB

Freedom Admin 管理系统

项目简介

Freedom Admin 是一个基于 Spring Boot 2.7.10 的后台管理系统,集成了 Spring Security、MyBatis-Plus、Thymeleaf 等主流技术栈,提供完整的代码生成器、邮件发送、用户管理等功能。

技术栈

  • 后端框架: Spring Boot 2.7.10
  • 安全框架: Spring Security 3.3.2
  • ORM 框架: MyBatis-Plus 3.5.7
  • 模板引擎: Thymeleaf
  • 数据库: MySQL 8.0.33
  • 连接池: HikariCP
  • 权限管理: JWT 认证
  • 邮件服务: Spring Mail
  • 代码生成: Beetl 模板引擎

项目结构

├── src/main/java/com/freedom/admin/
│   ├── AdminApplication.java          # 应用启动类
│   ├── base/                          # 基础类
│   ├── common/                        # 通用工具类
│   ├── config/                        # 配置类
│   ├── controller/                    # 控制器层
│   ├── entity/                        # 实体类
│   ├── mapper/                        # 数据访问层
│   ├── service/                       # 服务层
│   └── util/                          # 工具类
├── src/main/resources/
│   ├── mapper/                        # MyBatis 映射文件
│   ├── btl/                           # 代码生成模板
│   └── application.yml                # 配置文件
├── sql/
│   └── init.sql                       # 数据库初始化脚本
└── pom.xml                            # Maven 依赖配置

功能特性

1. 用户管理

  • 用户注册、登录、权限管理
  • JWT 认证机制
  • 用户信息维护

2. 代码生成器

  • 基于 Beetl 模板引擎
  • 支持前后端代码自动生成
  • 可自定义生成规则和模板
  • 生成 Controller、Service、Mapper、Entity、Vue 等文件

3. 邮件服务

  • 邮件验证码发送
  • 注册邮件通知
  • 可配置的邮件模板

4. 数据管理

  • 系统部门管理
  • 活动信息管理
  • 药品信息管理
  • 订单信息管理
  • 病例本管理

5. 系统特性

  • 统一异常处理
  • 分页插件支持
  • 逻辑删除
  • 接口权限控制

快速开始

环境要求

  • JDK 1.8+
  • Maven 3.6.3+
  • MySQL 8.0+

数据库配置

  1. 创建数据库:
CREATE DATABASE demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 执行初始化脚本:
mysql -u root -p demo < sql/init.sql

配置文件

修改 src/main/resources/application.yml 中的数据库连接信息:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
    username: root
    password: 123456

运行项目

# 使用 Maven 运行
mvn spring-boot:run

# 或者打包后运行
mvn clean package
java -jar target/freedom-admin-1.0.1.jar

项目启动后访问:http://localhost:8800

代码生成器使用

1. 查询数据库表

GET /generator/findListWithPage?pageNum=1&pageSize=10

2. 获取表下拉列表

GET /generator/getTableSelectList

3. 执行代码生成

POST /generator/execute
Content-Type: application/x-www-form-urlencoded

tableName=your_table_name&ruleStr=[{"rule":"value"}]

API 接口

认证相关

  • 用户登录
  • Token 刷新
  • 权限验证

用户管理

  • 用户注册
  • 用户信息查询
  • 用户信息修改

邮件服务

  • 发送验证码
  • 注册邮件通知

数据管理

  • 部门管理
  • 活动管理
  • 药品管理
  • 订单管理

开发指南

添加新功能模块

  1. 在 entity 包下创建实体类
  2. 在 mapper 包下创建 Mapper 接口
  3. 在 service 包下创建 Service 接口和实现类
  4. 在 controller 包下创建 Controller 类
  5. 在 resources/mapper 下创建对应的 XML 映射文件

权限配置

在 Controller 方法上使用注解控制权限:

@PermitAll  // 允许所有用户访问
@PreAuthorize("hasRole('ADMIN')")  // 需要管理员权限

部署说明

生产环境配置

  1. 修改数据库连接为生产环境地址
  2. 配置 JWT 密钥
  3. 配置邮件服务器信息
  4. 设置日志级别和路径

安全建议

  • 定期更换 JWT 密钥
  • 使用 HTTPS 协议
  • 配置防火墙规则
  • 定期备份数据库

常见问题

Q: 项目启动失败,提示数据库连接错误

A: 检查 application.yml 中的数据库配置是否正确,确保数据库服务已启动

Q: 代码生成器无法生成文件

A: 检查模板文件路径和项目路径配置,确保有写入权限

Q: 邮件发送失败

A: 检查邮件服务器配置,包括 SMTP 主机、端口、用户名和授权码

贡献指南

  1. Fork 本仓库
  2. 创建新的功能分支
  3. 提交代码变更
  4. 创建 Pull Request

许可证

本项目仅用于内部学习和研究使用。

联系方式


项目最后更新: 2024年4月