Agent Skills
返回列表
SpringBoot 通用组件

SpringBoot 通用组件

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_faca7523/springboot-common。

技能介绍

要解决的问题

很多 SpringBoot 项目里,接口响应格式、异常返回、请求链路日志和用户上下文分散在各 Controller 和 Service 中,容易出现字段不一致、异常吞没、日志缺 requestId 等问题。这个技能把这些问题收敛为可复用的通用组件,适合在已有 springboot-init 生成的项目基础上补齐工程骨架。

组件如何工作

它围绕 Result、GlobalExceptionHandler、UserContext、ShowLogAspect 和 ResultAdvice 生成代码:

  • 统一响应:生成 Result、ResultCode 和 RequestUtils,让接口返回带 requestId 的标准结构。
  • 异常处理:生成 BizException 和 GlobalExceptionHandler,把业务异常统一转成失败响应。
  • 用户上下文:通过 UserContextInterceptor 读取 x-user-id 和 x-request-id,并用 ThreadLocal 存储,方便日志和业务代码取用。
  • AOP 日志:@ShowLog 注解配合 ShowLogAspect 打印入参、返回值、耗时和异常标记。
  • 依赖管理:更新 pom.xml,按 SpringBoot 版本选择 javax.servlet 或 jakarta.servlet,处理 Lombok、Fastjson2、Commons 等依赖。

适用边界

该技能依赖 springboot-init 生成的基础项目结构,参数里必须提供 artifactId 和 packageName 才能定位项目并生成包路径。它更适合补齐通用组件,而不是替代项目初始化、认证授权或复杂监控体系。若现有项目已有统一响应或拦截器,直接套用可能会产生重复类,需要手动核对包名、配置类和响应处理逻辑。

使用场景

  • 新建 SpringBoot 项目后,需要给所有接口统一返回 code、message、data 和 requestId。
  • 已有业务代码抛出自定义异常,需要统一转成标准错误响应,避免堆栈直接返回。
  • 给关键接口记录入参、返回值、耗时、userId 和 requestId,便于链路排查。
  • 在拦截器中读取 x-user-id、x-request-id,并放入 ThreadLocal 供日志和业务调用。

适合人员

  • 维护 SpringBoot 接口的后端工程师,需要补齐统一响应和全局异常骨架。
  • 负责联调排障的服务端开发,需要接口日志携带 userId、requestId 和耗时。
  • 将旧项目迁移到统一规范的 Java 后端,需要生成可审计的异常和日志组件。
  • 使用 springboot-init 初始化新项目的团队,需要快速补齐 AOP 日志和用户上下文。