Skip to main content

springboot-init

Define development specifications for Spring Boot monolithic projects, supporting multiple technology stack configurations.

Jump to install

Source facts

Repository
alffei/skill_share
Last source activity
January 29, 2026 at 07:45
Detected SKILL.md language
Chinese
Stars
69
Forks
17

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
springboot-init
description
Define development specifications for Spring Boot monolithic projects, supporting multiple technology stack configurations.
# springboot-init ## 目录 1. [技术栈配置](#0-技术栈配置) | 2. [项目结构](#1-项目结构) | 3. [编码规范](#2-编码规范) | 4. [统一响应/异常](#3-统一响应规范) 5. [权限/工具/命名](#5-访问控制规范) | 6. [执行工作流](#6-执行工作流) | 7. [禁止事项](#7-禁止事项) | 8. [代码模板](#8-代码模板) --- ## 0. 技术栈配置 | 配置项 | 推荐选型 | 说明 | | ---------- | ----------------------- | ------------------------------------------ | | **JDK** | 17 / 21 | Spring Boot 3.x 必须 17+ | | **ORM** | **MyBatis-Plus** (MP) | 默认选型,快速开发。追求极致性能选 Flex | | **工具库** | **Hutool** / Guava | 减少重复轮子,增强开发效率 | | **权限** | **Sa-Token** / Security | 快速开发选 Sa-Token,复杂企业级选 Security | --- ## 1. 项目结构与分层 ### 1.1 核心分层 - **manager**: 仅当涉及“跨模块协调”或“第三方集成(OSS/短信)”时启用,避免直接耦合。 - **common/config**: 存放 `BaseResponse`, `GlobalExceptionHandler`, `MybatisPlusConfig` 等。 ### 1.2 数据流向 (Strict) - **DTO** (Request): `Controller` 输入专用。 - **VO**: `Controller` 输出专用。**严禁**将 `Entity` 直接返回前端。 - **Entity**: 与数据库表一一对应,仅在 `Service/Mapper` 层流通。 --- ## 2. 编码规范 ### 2.1 Controller & Service - **返回类型**:强制使用 `BaseResponse<T>`。 - **参数校验**:多参数封装为对象,使用 `@RequestBody` + `Validation`。 - **Service**:业务逻辑收敛于此。MP 风格:`extends ServiceImpl<Mapper, Entity> implements Service`。 ### 2.2 Model (Entity/DTO/VO) - **强制实现**:`Serializable` 并声明 `serialVersionUID`。 - **Java 17+**:优先使用 `record` 定义 DTO/VO。 - **MP 注解**:`@TableName`, `@TableId(type = IdType.ASSIGN_ID)`, `@TableLogic`。 --- ## 3. 统一响应与异常 - **ResultUtils**: 提供 `success(data)`, `error(errorCode, msg)`。 - **BusinessException**: 业务逻辑错误必须抛出此异常,由 `GlobalExceptionHandler` 统一捕获。 - **ErrorCode**: 维护全局状态码(如 40000 参数错误、40100 未登录)。 --- ## 4. 访问控制 & 工具库 ### 4.1 认证方案 - **Sa-Token**: 拦截器校验 `StpUtil.checkLogin()` 或 `@SaCheckRole`。 - **Spring Security**: `SecurityFilterChain` 配置及 `@PreAuthorize`。 ### 4.2 工具类推荐 (Hutool) - `StrUtil.isBlank`, `BeanUtil.copyProperties`, `JSONUtil.toJsonStr`, `SecureUtil.md5`。 --- ## 5. 命名规范 | 类型 | 模式 | 示例 | | ---------- | ---------------------------- | ------------------ | | Controller | `XxxController` | `UserController` | | Service | `XxxService/Impl` | `UserServiceImpl` | | DTO | `XxxAdd/Update/QueryRequest` | `UserQueryRequest` | | VO | `XxxVO` | `UserVO` | | DAO | `XxxMapper` | `UserMapper` | --- ## 6. 执行工作流 (Actionable Workflows) ### 6.1 项目初始化 1. **确认配置**:识别 `company`, `project`, `jdk` 等变量。 2. **生成骨架**:创建目录树,生成 `pom.xml`, `application.yml` (见 templates)。 3. **注入基础类**:生成 `common`, `exception`, `utils`, `config` 包内容。 ### 6.2 模块新增 1. **建模**:创建 Entity -> Mapper -> Service。 2. **业务端点**:定义 Request/VO (Record) -> Controller 逻辑。 3. **接口文档**:补充 Swagger 注解。 --- ## 7. 禁止事项 1. **禁止** 在 Controller 编写任何业务逻辑。 2. **禁止** Entity 跨过 Service 直接暴露给 Controller。 3. **禁止** 未经统一异常处理直接抛出原始 `Exception`。 4. **禁止** 硬编码角色或权限字符串。 --- ## 8. 代码模板 参考 [references/code-templates.md](references/code-templates.md),包含: `BaseResponse`, `ErrorCode`, `BusinessException`, `GlobalExceptionHandler`, `ResultUtils`, `ThrowUtils`, `MybatisPlusConfig`, `JsonConfig`, `OpenApiConfig`。
View on GitHub