跳到正文
cccskills
免费在 GitHub 公开

spring-boot-architecture

Structure Spring Boot 3+ projects with feature packaging and clean layering. Use when structuring Spring Boot 3 projects, defining layers, or applying architecture patterns.

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(3)

  • SKILL.md2.5 KB
  • evals/evals.json2.3 KB
  • references/implementation.md1.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Spring Boot Architecture Standards

Priority: P0 (CRITICAL)

Organize by Feature

  • Package by Feature: Prefer com.app.feature (e.g., user, order) over technical layers (controllers) for scalability.
  • Dependency Rule: Outer layers (Web) depend on Inner (Service). Inner layers MUST NOT depend on Outer.
  • DTO Pattern: ALWAYS use DTOs for API inputs/outputs. NEVER return @Entity directly.
  • Java Records: Use record for DTOs to ensure immutability (Java 17+).

See implementation examples for Java Record DTOs, controller patterns, and global exception handling.

Define Layer Responsibilities

  1. Controller (Web): Handle HTTP, Validation (@Valid), DTO mapping. Delegate logic to Service.
  2. Service (Business): Transaction boundaries, orchestration. Returns Domain/DTOs.
  3. Repository (Data): Database interactions only. Returns Entities/Projections.

Design API Layer

  • Global Error Handling: Use @RestControllerAdvice with ProblemDetails (RFC 7807).
  • Validation: Use Jakarta Bean Validation (@NotNull, @Size) on DTOs.
  • Response: Use ResponseEntity for explicit status or ResponseStatusException.

Verification Checklist (Mandatory)

  • No Entities in API: all API responses using DTOs/Records instead of JPA Entities?
  • Validation: @Valid and Jakarta Bean Validation constraints present on all input DTOs?
  • Layer coupling: Services depend on Controllers? (Prohibited)
  • Transactionality: business transactions correctly bounded with @Transactional in Service layer?
  • Error Details: ProblemDetails used for consistent error responses?

Anti-Patterns

  • No Fat Controllers: Move business logic to Services.
  • No Leaking Entities: Use DTOs instead of JPA Entities in APIs.
  • No Circular Dependencies: Use Events or refactor to decouple services.
  • No God Classes: Split large services into single-responsibility components.

References

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Upgrade an Android project to Android Gradle Plugin (AGP) 9. Use when migrating to AGP 9, updating Gradle build files, migrating to built-in Kotlin, or adopting the new AGP DSL.

中文简介正在准备中。当前显示原文说明。

HoangNguyen0403/agent-skills-standard5812026年10月24日 更新

Apply Clean Architecture layering, modularization, and Unidirectional Data Flow in Android projects. Use when setting up project structure, placing code in layers, configuring feature/core modules, or implementing UDF patterns; defer Compose state and ViewModel/StateFlow implementation to their specific skills.

中文简介正在准备中。当前显示原文说明。

HoangNguyen0403/agent-skills-standard5812026年10月24日 更新

Implement WorkManager and background processing correctly on Android. Use when creating Worker classes, scheduling tasks, choosing between WorkManager and Foreground Services, or setting up Hilt in workers; defer FCM and notification delivery to android-notifications.

中文简介正在准备中。当前显示原文说明。

HoangNguyen0403/agent-skills-standard5812026年10月24日 更新

Build high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects; defer deep-link and navigation routing to android-navigation.

中文简介正在准备中。当前显示原文说明。

HoangNguyen0403/agent-skills-standard5812026年10月24日 更新

Migrate an Android XML View to Jetpack Compose following a structured 10-step workflow. Use when converting XML layouts to Compose, setting up Compose in an existing View-based project, or incrementally adopting Compose.

中文简介正在准备中。当前显示原文说明。

HoangNguyen0403/agent-skills-standard5812026年10月24日 更新

Write correct coroutine scopes, lifecycle collection, and dispatcher injection in Android production code. Use for suspend functions, coroutine scopes, and dispatcher mechanics; defer ViewModel StateFlow/LiveData architecture, Fragment lifecycle recipes, persistence/notifications, and unit-test recipes to their specific skills.

中文简介正在准备中。当前显示原文说明。

HoangNguyen0403/agent-skills-standard5812026年10月24日 更新

查看 HoangNguyen0403 的全部技能

报告此技能的问题