5.0 KiB
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+
数据库配置
- 创建数据库:
CREATE DATABASE demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 执行初始化脚本:
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 刷新
- 权限验证
用户管理
- 用户注册
- 用户信息查询
- 用户信息修改
邮件服务
- 发送验证码
- 注册邮件通知
数据管理
- 部门管理
- 活动管理
- 药品管理
- 订单管理
开发指南
添加新功能模块
- 在
entity包下创建实体类 - 在
mapper包下创建 Mapper 接口 - 在
service包下创建 Service 接口和实现类 - 在
controller包下创建 Controller 类 - 在
resources/mapper下创建对应的 XML 映射文件
权限配置
在 Controller 方法上使用注解控制权限:
@PermitAll // 允许所有用户访问
@PreAuthorize("hasRole('ADMIN')") // 需要管理员权限
部署说明
生产环境配置
- 修改数据库连接为生产环境地址
- 配置 JWT 密钥
- 配置邮件服务器信息
- 设置日志级别和路径
安全建议
- 定期更换 JWT 密钥
- 使用 HTTPS 协议
- 配置防火墙规则
- 定期备份数据库
常见问题
Q: 项目启动失败,提示数据库连接错误
A: 检查 application.yml 中的数据库配置是否正确,确保数据库服务已启动
Q: 代码生成器无法生成文件
A: 检查模板文件路径和项目路径配置,确保有写入权限
Q: 邮件发送失败
A: 检查邮件服务器配置,包括 SMTP 主机、端口、用户名和授权码
贡献指南
- Fork 本仓库
- 创建新的功能分支
- 提交代码变更
- 创建 Pull Request
许可证
本项目仅用于内部学习和研究使用。
联系方式
- 项目作者: zhangjiaxun
- 邮箱: 732128096@qq.com
项目最后更新: 2024年4月