# Spring-Boot-Init **Repository Path**: xlhl-yz/spring-boot-init ## Basic Information - **Project Name**: Spring-Boot-Init - **Description**: SpringBoot 2.7.6 初始化模板,整合一些常用工具库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-01 - **Last Updated**: 2025-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, 初始化 ## README # Spring Boot 2.7.6 初始化通用模板 这是一个基于 Spring Boot 2.7.6 的通用初始化模板,旨在提供基础结构、权限控制、缓存管理、异常处理以及请求参数校验等功能,适用于快速搭建后端服务。 --- ## 项目简介 本项目是一个开箱即用的 Spring Boot 初始化模板,适用于构建基于 Java 的后端服务。它集成了权限切面、缓存管理、参数校验、统一异常处理以及 RESTful API 基础结构。 --- ## 技术架构 - **Spring Boot 2.7.6** - **MyBatis Plus** - **Redis 缓存(StringRedisTemplate)** - **Caffeine 本地缓存** - **Spring AOP 实现权限控制** - **统一响应结构 `Result`** - **配置化跨域支持** - **自定义注解 `@MustLogin` 实现登录校验** --- ## 主要功能 - 接口权限控制:通过 `@MustLogin` 注解控制接口访问权限。 - 参数校验:自动校验实现 `Validatable` 接口的请求参数。 - 统一异常处理:支持 `BusinessException`, `ValidationException`, `RuntimeException` 等异常的统一捕获和响应。 - 缓存管理:结合 Redis 和 Caffeine,提供缓存清理和自动加载机制。 - 批量操作支持:通过 `MyBatisBatchManage` 提供批量插入、更新和删除操作。 - 跨域配置:支持开发环境的跨域请求。 - 响应封装:使用 `Result` 类统一返回结构,包含成功、失败、错误等状态。 --- ## 快速开始 ### 环境要求 - Java 8 或以上版本 - Maven 3.5 或以上 - Redis 服务(可选) - MySQL 或其他支持的数据库 ### 安装步骤 1. 克隆项目到本地: ```bash git clone ``` 2. 修改配置文件: - `application.yml`:配置数据库、Redis、缓存等相关参数。 - `application-dev.yml` / `application-prod.yml`:分别配置开发与生产环境参数。 3. 初始化数据库: 使用 `sql/init.sql` 初始化数据库结构。 4. 启动项目: ```bash mvn spring-boot:run ``` --- ## 使用示例 访问测试接口: - 登录测试:`GET /test/login` - 登出测试:`GET /test/logout` - 异常测试:`GET /test/exception` - 权限测试(需登录):`GET /test/mustLogin`(使用 `@MustLogin` 注解) 参数校验: - 使用 `Validatable` 接口实现参数校验逻辑。 - 请求参数在进入接口前会自动校验,失败会抛出 `ValidationException`。 --- ## 开发规范 - 所有 Controller 返回统一使用 `Result`。 - 接口权限控制使用 `@MustLogin` 注解。 - 所有自定义异常继承 `BusinessException`。 - 使用 `ThrowUtil` 简化异常抛出逻辑。 - 数据库操作使用 MyBatis Plus,统一配置在 `MyBatisPlusConfig`。 --- ## 贡献指南 欢迎提交 Pull Request。请遵循以下原则: - 提交前确保代码风格一致 - 添加必要的注释和文档 - 提供测试用例(如适用) --- ## 许可证 本项目采用 MIT 许可证,详情请参考 [LICENSE](LICENSE) 文件。