本Skill用于快速生成标准化的SpringBoot项目脚手架,直接在当前工作目录生成项目结构,无需创建子目录。包含完整的配置、工具类、统一响应处理、异常处理等最佳实践。
AI会询问用户以下参数:
| 参数 | 必填 | 默认值 | 说明 |
|------|------|--------|------|
| groupId | 是 | - | 项目groupId,如com.example |
| artifactId | 否 | 当前目录名 | 项目artifactId,默认使用当前工作目录名 |
| version | 否 | 1.0.0 | 项目版本号 |
| springBootVersion | 否 | 3.2.0 | SpringBoot版本 |
| packageName | 否 | groupId | 主包名 |
| author | 否 | CodeArts | 作者信息 |
自动获取的参数:
pwd命令获取当前工作目录,提取目录名作为默认artifactId
/当前目录名
示例:
C:\Users\Admin\Desktop\x
x
x
/x
根据SpringBoot版本自动匹配依赖版本:
| SpringBoot版本 | MyBatisPlus | Knife4j | MySQL Connector |
|---------------|-------------|---------|-----------------|
| 3.5.x | 3.5.5 | 4.5.0 | 8.0.33 |
| 3.2.x | 3.5.5 | 4.4.0 | 8.0.33 |
| 3.1.x | 3.5.4 | 4.3.0 | 8.0.33 |
| 2.7.x | 3.5.3 | 4.1.0 | 8.0.29 |
AI将按以下步骤生成项目:
pwd命令获取当前工作目录
assets/resources/static/favicon.ico 到 src/main/resources/static/favicon.ico
生成的项目结构(直接在当前目录):
当前目录/
├── pom.xml
├── README.md
└── src/
├── main/
│ ├── java/${packagePath}/
│ │ ├── ${className}Application.java
│ │ ├── common/
│ │ │ ├── Result.java
│ │ │ ├── ResultCode.java
│ │ │ ├── BizException.java
│ │ │ ├── GlobalExceptionHandler.java
│ │ │ ├── PageResult.java
│ │ │ └── UserContext.java
│ │ ├── config/
│ │ │ ├── MybatisPlusConfig.java
│ │ │ ├── RedisConfig.java
│ │ │ ├── Knife4jConfig.java
│ │ │ ├── WebMvcConfig.java
│ │ │ ├── ResponseAdvice.java
│ │ │ ├── UserContextInterceptor.java
│ │ │ ├── log/
│ │ │ │ ├── ShowLog.java
│ │ │ │ └── ShowLogHandler.java
│ │ │ └── cache/
│ │ │ ├── CacheDataAnnotation.java
│ │ │ └── CacheDataAnnotationAop.java
│ │ ├── controller/
│ │ ├── service/
│ │ │ └── impl/
│ │ ├── mapper/
│ │ ├── entity/
│ │ └── utils/
│ │ └── RequestUtil.java
│ └── resources/
│ ├── application.yml
│ └── static/
│ └── favicon.ico
└── test/
└── java/${packagePath}/
所有模板文件位于assets/目录,使用占位符${param}标记需要替换的内容:
| 模板文件 | 说明 |
|---------|------|
| pom.xml | Maven配置模板 |
| application.yml | SpringBoot配置模板 |
| DemoApplication.java | 启动类模板 |
| Result.java | 统一响应类模板 |
| ResultCode.java | 响应码常量类模板 |
| BizException.java | 业务异常类模板 |
| GlobalExceptionHandler.java | 全局异常处理器模板 |
| PageResult.java | 分页结果类模板 |
| UserContext.java | 用户上下文模板 |
| ResponseAdvice.java | 全局响应处理器模板 |
| UserContextInterceptor.java | 用户上下文拦截器模板 |
| WebMvcConfig.java | Web MVC配置模板 |
| MybatisPlusConfig.java | MyBatis Plus配置模板 |
| RedisConfig.java | Redis配置模板 |
| Knife4jConfig.java | Knife4j配置模板 |
| ShowLog.java | 日志注解模板 |
| ShowLogHandler.java | 日志切面处理器模板 |
| CacheDataAnnotation.java | 缓存注解模板 |
| CacheDataAnnotationAop.java | 缓存AOP实现模板 |
| RequestUtil.java | 请求工具类模板 |
| resources/static/favicon.ico | 网站图标静态资源 |
| README.md | 项目说明文档模板 |
| 占位符 | 说明 | 示例 |
|--------|------|------|
| ${groupId} | 项目groupId | com.example |
| ${artifactId} | 项目artifactId(当前目录名) | x |
| ${version} | 项目版本 | 1.0.0 |
| ${springBootVersion} | SpringBoot版本 | 3.2.0 |
| ${packageName} | 主包名 | com.example.x |
| ${packagePath} | 包路径 | com/example/x |
| ${className} | 启动类名 | XApplication |
| ${projectName} | 项目名称(当前目录名) | x |
| ${author} | 作者 | CodeArts |
| ${date} | 创建日期 | 2026-04-24 |
| ${mybatisPlusVersion} | MyBatis Plus版本 | 3.5.5 |
| ${knife4jVersion} | Knife4j版本 | 4.4.0 |
| ${mysqlVersion} | MySQL版本 | 8.0.33 |
| ${hutoolVersion} | Hutool版本 | 5.8.25 |
| ${commonsLang3Version} | Commons Lang3版本 | 3.14.0 |
| ${commonsCollections4Version} | Commons Collections4版本 | 4.4 |
| ${fastjson2Version} | Fastjson2版本 | 2.0.43 |
生成的代码遵循以下规范:
所有方法入参必须进行判空处理,优先使用工具类判断:
StringUtils.isBlank() / StringUtils.isNotBlank()
CollectionUtils.isEmpty() / CollectionUtils.isNotEmpty()
Objects.isNull() / Objects.nonNull()
方法返回时尽量避免返回null,应返回合理的默认值:
所有类必须包含标准注释(说明、作者、创建时间)。
Service类使用@Slf4j注解,关键操作记录日志。
所有接口返回统一的响应格式:
{
"code": 200,
"message": "操作成功",
"data": {}
}
自动捕获并处理各类异常,返回友好的错误信息。
支持JSR-303参数校验,自动返回校验错误信息。
集成MyBatis Plus分页插件,支持分页查询。
配置了Redis序列化,支持对象缓存。
集成Knife4j,提供在线API文档。
A: 为了简化项目结构,直接在当前目录生成,避免嵌套目录。例如在C:\Users\Admin\Desktop\x目录下直接生成src、pom.xml等。
A: 默认使用当前目录名,如需修改可在询问参数时指定artifactId。
A: 在询问参数时指定springBootVersion,如3.1.0,依赖版本会自动匹配。
A: 项目生成后,可根据需要在controller、service、mapper、entity包下添加业务代码。
A: 在application.yml中设置knife4j.enable: false。
A:
mvn clean install
mvn spring-boot:run
http://localhost:8080/${artifactId}
assets/pom.xml - Maven配置模板
assets/application.yml - SpringBoot配置模板
assets/DemoApplication.java - 启动类模板
assets/Result.java - 统一响应类模板
assets/ResultCode.java - 响应码常量类模板
assets/BizException.java - 业务异常类模板
assets/GlobalExceptionHandler.java - 全局异常处理器模板
assets/resources/static/favicon.ico - 网站图标静态资源
assets/README.md - 项目说明文档模板
共 2 个版本