# springboot-modules-scaffold **Repository Path**: mgb/springboot-modules-scaffold ## Basic Information - **Project Name**: springboot-modules-scaffold - **Description**: 基于SpringBoot 3.0 + Mybatis-Plus + Sa-token + OpenAPI + MySQL + Redis实现的多模块脚手架项目,适用于后台管理系统和用户端API的开发。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-08 - **Last Updated**: 2025-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Adnaan SpringBoot多模块脚手架 基于SpringBoot 3.0 + Mybatis-Plus + Sa-token + OpenAPI + MySQL + Redis实现的多模块脚手架项目,适用于后台管理系统和用户端API的开发。 ## 技术选型 - **SpringBoot 3.1.5**:基础框架,提供自动配置和快速启动 - **MyBatis-Plus 3.5.3.2**:增强的MyBatis框架,提供更丰富的操作 - **Sa-Token 1.37.0**:轻量级权限认证框架 - **SpringDoc 2.2.0**:API文档生成工具 - **Knife4j 4.3.0**:API文档增强 - **MySQL 8.0**:关系型数据库 - **Redis**:缓存数据库 - **Druid 1.2.18**:数据库连接池 - **FastJson2**:高性能JSON处理工具 - **HuTool**:Java工具集 ## 项目结构 ``` adnaan-parent 父项目,提供依赖管理 │ ├─adnaan-common 公共模块,定义通用组件和工具类 │ ├─annotation 自定义注解 │ ├─constant 常量定义 │ ├─enums 枚举类型 │ ├─exception 异常类 │ ├─model 通用模型 │ └─utils 工具类 │ ├─adnaan-framework 框架模块,提供核心功能支持 │ ├─config 框架配置类 │ ├─handler 全局处理器 │ ├─mybatis MyBatis增强 │ ├─redis Redis操作 │ └─security 安全认证 │ ├─adnaan-admin 管理后台模块,提供后台管理接口 │ ├─controller 控制器 │ ├─service 服务 │ │ └─impl 服务实现 │ ├─mapper 数据访问 │ └─model 业务模型 │ ├─entity 实体类 │ ├─dto 数据传输对象 │ └─vo 视图对象 │ ├─adnaan-api 用户API模块,提供用户端接口 │ ├─controller 控制器 │ ├─service 服务 │ │ └─impl 服务实现 │ ├─mapper 数据访问 │ └─model 业务模型 │ ├─entity 实体类 │ ├─dto 数据传输对象 │ └─vo 视图对象 │ └─adnaan-boot 启动模块,包含启动类和配置文件 └─resources 资源文件目录 ├─application.yml 应用主配置文件 └─mapper MyBatis映射文件 ``` ## 快速启动 ### 环境准备 - JDK 17+ - Maven 3.8+ - MySQL 8.0+ - Redis 5.0+ ### 数据库准备 创建数据库: ```sql CREATE DATABASE adnaan DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` ### 修改配置 修改 `adnaan-boot/src/main/resources/application.yml` 文件中的数据库和Redis配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/adnaan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 data: redis: host: localhost port: 6379 password: ``` ### 启动项目 ```bash # 编译项目 mvn clean package -DskipTests # 启动项目 java -jar adnaan-boot/target/adnaan-boot-1.0.0.jar ``` ## 访问API文档 启动成功后,访问 Swagger 文档: - http://localhost:8080/doc.html ## 项目特性 1. **模块化设计**:清晰的模块划分,便于团队协作和代码复用 2. **统一响应**:规范化的返回结果和异常处理 3. **API文档**:集成Knife4j提供美观易用的API文档 4. **权限控制**:基于Sa-Token实现的权限认证 5. **数据库优化**:集成MyBatis-Plus和Druid监控 6. **缓存支持**:Redis缓存整合 ## 开发规范 1. 控制器开发规范: - 所有接口返回统一使用`Result` - 每个接口添加Swagger注解 - 合理分组和版本控制 2. 服务层规范: - 业务逻辑处理放在Service层 - 事务控制放在Service层 - 使用ServiceException抛出业务异常 3. 数据访问规范: - 复杂查询使用XML,简单查询使用注解 - 遵循MyBatis-Plus规范 - 注意SQL优化 ## 贡献与反馈 欢迎提交Issue或Pull Request。