# fastdev_serve **Repository Path**: chen-superplus/fastdev_serve ## Basic Information - **Project Name**: fastdev_serve - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-09 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FastDev 后端项目 FastDev 是一个基于 Spring Boot 2.6 + MyBatis-Flex + Sa-Token 的后台管理系统后端项目。 ## 技术栈 - **基础框架**: Spring Boot 2.6.13 - **JDK 版本**: Java 1.8 - **ORM 框架**: MyBatis-Flex 1.8.4 - **权限认证**: Sa-Token 1.34.0 - **数据库**: MySQL 8.0+ - **缓存**: Redis - **API 文档**: Knife4j 3.0.3 (Swagger 增强) - **构建工具**: Maven ## 主要依赖 | 依赖 | 版本 | 用途 | |------|------|------| | Spring Boot | 2.6.13 | 基础框架 | | MyBatis-Flex | 1.8.4 | ORM 框架 | | Sa-Token | 1.34.0 | 权限认证 | | MySQL Connector | 8.0+ | 数据库驱动 | | Redis | - | 缓存与会话存储 | | EasyExcel | 3.1.1 | Excel 导入导出 | | Hutool | 5.8.16 | 工具类库 | | Lombok | 1.18.36 | 代码简化 | | Knife4j | 3.0.3 | API 文档 | ## 项目结构 ``` fastdev_serve/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/fast/devlop/fastdev/ │ │ │ ├── annotation/ # 自定义注解 │ │ │ │ ├── AutoFillAudit.java # 自动填充审计字段 │ │ │ │ ├── Excel.java # Excel 导出注解 │ │ │ │ ├── Log.java # 操作日志注解 │ │ │ │ ├── RepeatSubmit.java # 防重复提交注解 │ │ │ │ └── Sensitive.java # 数据脱敏注解 │ │ │ ├── aspectj/ # AOP 切面 │ │ │ │ ├── LogAspect.java # 日志记录切面 │ │ │ │ └── RepeatSubmitAspect.java # 防重复提交切面 │ │ │ ├── common/ # 通用类 │ │ │ │ ├── PageQuery.java # 分页查询参数 │ │ │ │ ├── PageResult.java # 分页结果封装 │ │ │ │ └── ResponseResult.java # 统一响应封装 │ │ │ ├── config/ # 配置类 │ │ │ │ ├── EncryptionConfig.java # 加密配置 │ │ │ │ ├── MybatisFlexConfig.java # MyBatis-Flex 配置 │ │ │ │ ├── RedisConfig.java # Redis 配置 │ │ │ │ ├── SaTokenConfig.java # Sa-Token 配置 │ │ │ │ ├── SwaggerConfig.java # Swagger 配置 │ │ │ │ └── WebMvcConfig.java # Web MVC 配置 │ │ │ ├── controller/ # 控制器层 │ │ │ │ ├── AuthController.java # 认证控制器 │ │ │ │ ├── SysUserController.java # 用户管理 │ │ │ │ ├── SysRoleController.java # 角色管理 │ │ │ │ ├── SysMenuController.java # 菜单管理 │ │ │ │ ├── SysDeptController.java # 部门管理 │ │ │ │ ├── SysDictTypeController.java # 字典类型 │ │ │ │ ├── SysDictDataController.java # 字典数据 │ │ │ │ ├── SysConfigController.java # 参数配置 │ │ │ │ ├── SysNoticeController.java # 通知公告 │ │ │ │ ├── GenTableController.java # 代码生成 │ │ │ │ ├── SysServerController.java # 服务器监控 │ │ │ │ ├── SysCacheController.java # 缓存管理 │ │ │ │ ├── SysUserOnlineController.java # 在线用户 │ │ │ │ ├── SysLoginLogController.java # 登录日志 │ │ │ │ └── SysOperLogController.java # 操作日志 │ │ │ ├── dto/ # 数据传输对象 │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── BaseEntity.java # 基础实体类 │ │ │ │ ├── SysUser.java # 用户实体 │ │ │ │ ├── SysRole.java # 角色实体 │ │ │ │ ├── SysMenu.java # 菜单实体 │ │ │ │ ├── SysDept.java # 部门实体 │ │ │ │ └── ... │ │ │ ├── enums/ # 枚举类 │ │ │ ├── listener/ # 监听器 │ │ │ ├── mapper/ # 数据访问层 │ │ │ ├── service/ # 业务逻辑层 │ │ │ ├── utils/ # 工具类 │ │ │ ├── vo/ # 视图对象 │ │ │ └── FastdevApplication.java # 启动类 │ │ └── resources/ │ │ ├── mapper/ # MyBatis XML 映射文件 │ │ └── application.properties # 应用配置文件 │ └── test/ # 测试代码 ├── sql/ │ └── fastdev_init.sql # 数据库初始化脚本 ├── pom.xml # Maven 配置文件 └── README.md # 项目说明文档 ``` ## 功能模块 ### 系统管理 - **用户管理**: 用户的增删改查、状态管理、密码重置 - **角色管理**: 角色的增删改查、权限分配、数据权限设置 - **菜单管理**: 菜单的增删改查、权限标识配置 - **部门管理**: 部门的增删改查、层级关系维护 - **字典管理**: 字典类型和字典数据的管理 - **参数配置**: 系统运行参数的动态配置 - **通知公告**: 系统公告的发布、编辑、删除 ### 系统监控 - **在线用户**: 查看当前登录用户列表、强制下线功能 - **登录日志**: 记录用户登录信息,支持查询和导出 - **操作日志**: 记录系统操作日志,支持审计和导出 - **缓存管理**: Redis 缓存的查看、清理、监控 - **服务器监控**: 实时监控服务器 CPU、内存、磁盘、JVM 等信息 ### 系统工具 - **代码生成**: 根据数据库表结构自动生成前后端代码(Controller、Service、Mapper、Entity、Vue 页面) ## 核心特性 ### 1. 权限认证 (Sa-Token) - 基于 Token 的无状态认证 - 支持多终端登录 - 支持登录设备控制 - 支持强制下线功能 - Redis 存储会话信息 ### 2. ORM 框架 (MyBatis-Flex) - 支持代码生成 - 支持多数据源 - 支持分页查询 - 支持逻辑删除 - 支持自动填充审计字段 ### 3. 数据安全 - AES/SM4 加密支持 - 敏感数据脱敏 - BCrypt 密码加密 - XSS 防护 ### 4. 日志记录 - 操作日志自动记录(基于注解) - 登录日志记录 - 支持日志导出 ### 5. Excel 处理 - 基于 EasyExcel 实现 - 支持导入导出 - 支持大数据量处理 ## 开发环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ - Redis 6.0+ ## 安装与运行 ### 1. 数据库初始化 执行 `sql/fastdev_init.sql` 脚本创建数据库和初始数据。 ### 2. 修改配置文件 编辑 `src/main/resources/application.properties`: ```properties # 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/fastdev?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai spring.datasource.username=root spring.datasource.password=your_password # Redis 配置 spring.redis.host=localhost spring.redis.port=6379 ``` ### 3. 编译运行 ```bash # 编译项目 mvn clean compile # 运行项目 mvn spring-boot:run # 打包项目 mvn clean package ``` ### 4. 访问服务 - 应用服务: http://localhost:8080 - API 文档: http://localhost:8080/doc.html ## 配置文件说明 ### application.properties 主要配置 ```properties # 数据库配置 spring.datasource.url=jdbc:mysql://localhost:13308/fastdev spring.datasource.username=root spring.datasource.password=1234 # Sa-Token 配置 sa-token.token-name=satoken sa-token.timeout=2592000 sa-token.activity-timeout=86400 # MyBatis-Flex 配置 mybatis-flex.mapper-locations=classpath*:mapper/**/*.xml mybatis-flex.type-aliases-package=com.fast.devlop.fastdev.entity # Redis 配置 spring.redis.host=localhost spring.redis.port=16379 # 服务器端口 server.port=8080 # 文件上传配置 file.upload.path=./upload file.upload.max-size=10MB ``` ## API 文档 项目集成 Knife4j 提供在线 API 文档,启动后访问: ``` http://localhost:8080/doc.html ``` ## 代码生成使用说明 1. 在数据库中创建表(表名和字段名使用下划线命名) 2. 登录系统,进入【系统工具】->【代码生成】 3. 点击【导入】,选择要生成代码的表 4. 编辑生成配置(包名、作者、生成路径等) 5. 点击【生成代码】,下载生成的代码压缩包 6. 将代码解压到对应的前后端项目中 ## 项目规范 ### 包命名规范 - `com.fast.devlop.fastdev.controller` - 控制器层 - `com.fast.devlop.fastdev.service` - 业务逻辑层 - `com.fast.devlop.fastdev.mapper` - 数据访问层 - `com.fast.devlop.fastdev.entity` - 实体类 - `com.fast.devlop.fastdev.dto` - 数据传输对象 - `com.fast.devlop.fastdev.vo` - 视图对象 - `com.fast.devlop.fastdev.utils` - 工具类 ### 数据库规范 - 表名使用 `sys_` 前缀表示系统表 - 主键字段使用 `id` - 审计字段:`create_by`, `create_time`, `update_by`, `update_time`, `remark` - 逻辑删除字段:`del_flag` ## 前端项目 前端项目基于 Vue 3 + TypeScript + Element Plus,https://gitee.com/chen-superplus/fastdev_front