# springboot3 **Repository Path**: qincai1024/springboot3 ## Basic Information - **Project Name**: springboot3 - **Description**: java的springboot3通用基础框架模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-11 - **Last Updated**: 2025-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java Qoder Framework 基于 Spring Boot 3 的 Java 基础通用框架 ## 技术栈 - **Spring Boot 3.2.0** - 核心框架 - **Spring Security 6** - 安全认证 - **JWT (jjwt 0.12.3)** - Token认证 - **MyBatis Plus 3.5.5** - ORM框架 - **Liquibase 4.25.0** - 数据库版本管理 - **Knife4j 4.4.0** - API文档(基于OpenAPI 3) - **Lombok 1.18.30** - 简化Java代码 - **MapStruct 1.5.5** - 对象映射 - **MySQL 8.0+** - 数据库 - **Redis** - 缓存 ## 项目结构 ``` java-qoder/ ├── src/main/java/com/example/javaqoder/ │ ├── common/ # 通用模块 │ │ ├── base/ # 基础类(BaseEntity、分页等) │ │ ├── exception/ # 异常处理 │ │ └── result/ # 统一响应结果 │ ├── config/ # 配置类 │ ├── security/ # 安全认证相关 │ └── module/ # 业务模块 │ └── system/ # 系统管理模块 │ ├── controller/ # 控制器 │ ├── service/ # 服务层 │ ├── mapper/ # 数据访问层 │ ├── entity/ # 实体类 │ └── dto/ # 数据传输对象 └── src/main/resources/ ├── db/changelog/ # Liquibase数据库变更 ├── application.yml # 主配置文件 ├── application-dev.yml # 开发环境配置 └── application-prod.yml # 生产环境配置 ``` ## 快速开始 ### 前置要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - Redis ### 数据库配置 1. 创建数据库: ```sql CREATE DATABASE java_qoder DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 修改 `application-dev.yml` 中的数据库连接配置 ### 启动应用 ```bash # 编译项目 mvn clean package # 运行应用 mvn spring-boot:run ``` 或直接运行主类:`com.example.javaqoder.JavaQoderApplication` ### 访问API文档 启动后访问:http://localhost:8080/api/doc.html ### 默认账号 - 用户名:`admin` - 密码:`admin123` ## 核心功能 ### 1. 统一响应格式 ```json { "code": 200, "message": "操作成功", "data": {}, "timestamp": 1699999999999 } ``` ### 2. JWT认证 - 登录接口:`POST /api/auth/login` - 请求头:`Authorization: Bearer {token}` ### 3. 分页查询 使用 `PageQuery` 和 `PageResult` 实现统一分页 ### 4. 全局异常处理 - 业务异常:`BusinessException` - 参数校验异常 - 权限异常 - 系统异常 ### 5. MyBatis Plus增强 - 自动填充(创建时间、更新时间) - 逻辑删除 - 分页插件 - 乐观锁 ### 6. Liquibase数据库版本管理 数据库变更脚本位于:`src/main/resources/db/changelog/` ## API示例 ### 登录 ```bash curl -X POST http://localhost:8080/api/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123"}' ``` ### 获取当前用户信息 ```bash curl -X GET http://localhost:8080/api/user/current \ -H "Authorization: Bearer {your-token}" ``` ## 配置说明 ### JWT配置 ```yaml jwt: secret: your-secret-key expiration: 86400000 # 24小时 header: Authorization prefix: Bearer ``` ### Redis配置 ```yaml spring: data: redis: host: localhost port: 6379 ``` ## 开发建议 1. **新增模块**:参考 `module.system` 包结构 2. **使用MapStruct**:Entity与DTO转换 3. **使用Lombok**:简化实体类代码 4. **API文档**:使用Swagger注解完善API文档 5. **权限控制**:使用 `@PreAuthorize` 注解 ## License Apache License 2.0