LogoAwesome Skills
  • Search
  • Category
  • Tag
  • Blog
LogoAwesome Skills
LogoAwesome Skills

Discover Open-Source Agent Skills for AI Coding Assistants

Product

  • Search
  • Category
  • Tag
  • Blog

Resources

  • Claude Skill Docs
  • Antigravity Skills Docs

Tools

  • Claude Code
  • OpenCode
  • Cursor
  • Codex
  • Antigravity

Company

  • Privacy Policy
  • Terms of Service
  • Sitemap

©2026 Awesome Skills. All rights reserved.

Privacy PolicyTerms
Back to Skills

spring-boot-crud-patterns

Provides and generates complete CRUD workflows for Spring Boot 3 services. Creates feature-focused architecture with Spring Data JPA aggregates, repositories, DTOs, controllers, and REST APIs. Validates domain invariants and transaction boundaries. Use when modeling Java backend services, REST API endpoints, database operations, web service patterns, or JPA entities for Spring Boot applications.

311stars37forksUpdated 7/28/2026
API Development#crud#spring-boot#code-generation#java#jpa#rest-api

Security Assessment

Safe(95/100)
Security Score95/100

About spring-boot-crud-patterns

This skill provides and generates complete CRUD workflows for Spring Boot 3.5+ services using a feature-focused, DDD-inspired architecture. It solves the repetitive, error-prone work of scaffolding consistent create/read/update/delete services with proper separation of concerns, giving developers a structured workflow plus a code generator so that domain models, repositories, application services, DTOs, controllers, and exception handling follow the same conventions across a codebase.

The skill documents a seven-step workflow with explicit validation gates: establish a feature package structure (domain, application, presentation, infrastructure), define framework-free domain models with invariants enforced through factory methods, expose domain repository ports, provide JPA infrastructure adapters (verified with @DataJpaTest), implement @Transactional application services, define Java-record DTOs with jakarta.validation annotations and REST controllers returning correct status codes (201/200/204), and validate with Testcontainers integration tests and Liquibase/Flyway migrations. A Python generator script (generate_crud_boilerplate.py) renders a full feature from a JSON/YAML spec using string.Template placeholders and a directory of .tpl templates, producing versioned REST endpoints, pageable list endpoints returning a PageResponse, mappers, exception types, and a global exception handler mapping validation and data-integrity errors to appropriate HTTP codes. Reference docs and example specs accompany the templates.

It targets Java backend developers building Spring Boot REST APIs and JPA-backed services who want DDD-aligned, testable CRUD scaffolding and a repeatable generator. Use cases include creating new REST endpoints, adding database entities, mapping DTOs for aggregates, adding pagination, and diagnosing CRUD or transaction-boundary regressions. The generator runs locally, reads a spec and templates, and writes generated Java files to an output directory, with no network or destructive behavior.

FAQ

What Spring Boot version and architecture does it target?

Spring Boot 3.5+ with a feature-focused, DDD-inspired architecture organized into domain, application, presentation, and infrastructure subpackages, using Spring Data JPA aggregates and repositories.

How does the code generator work?

The Python script generate_crud_boilerplate.py reads a JSON/YAML spec (entity, id, fields, relationships) and renders Java files from a required directory of .tpl templates using Python's string.Template placeholders, writing output to a chosen directory. All templates must be provided; there is no fallback.

What gets generated for each entity?

A versioned REST controller at /v1/{resources} with POST returning 201 and a Location header, a pageable list endpoint returning PageResponse<T>, a DTO-to-domain mapper, NotFound and Exist exception types, and a GlobalExceptionHandler that maps validation and DataIntegrityViolation errors (409).

How is correctness validated?

The workflow uses unit tests for domain invariants, @DataJpaTest for entity mapping, and Testcontainers integration tests, and expects Liquibase or Flyway migrations to mirror the aggregate schema. An optional --lombok flag adds Lombok annotations.

All Files

32 files
references/templates/Controller.java.tpl2.4 KB
View
assets/specs/product.json0.2 KB
View
references/spring-official-docs.md0.1 KB
View
references/templates/DomainModel.java.tpl0.4 KB
View
references/templates/DtoResponse.java.tpl0.1 KB
View
references/templates/GetService.java.tpl0.8 KB
View
references/templates/Mapper.java.tpl0.4 KB
View
references/templates/README.md1.4 KB
View
scripts/examples/product.json0.2 KB
View
references/crud-reference.md0.2 KB
View
assets/specs/product_with_rel.json0.3 KB
View
references/generator-usage.md1.2 KB
View
references/templates/DeleteService.java.tpl0.7 KB
View
references/templates/DtoRequest.java.tpl0.1 KB
View
references/templates/ExistException.java.tpl0.3 KB
View
references/templates/ListService.java.tpl1.1 KB
View
references/templates/PersistenceAdapter.java.tpl1.5 KB
View
scripts/examples/product_with_rel.json0.6 KB
View
references/examples-product-feature.md0.4 KB
View
references/templates/CreateService.java.tpl1.1 KB
View
references/templates/DomainService.java.tpl1.0 KB
View
references/templates/ErrorResponse.java.tpl0.1 KB
View
references/templates/JpaEntity.java.tpl0.5 KB
View
references/templates/PageResponse.java.tpl0.2 KB
View
references/templates/UpdateService.java.tpl1.1 KB
View
SKILL.md9.8 KB
View
references/templates/DomainRepository.java.tpl0.4 KB
View
references/templates/EntityExceptionHandler.java.tpl1.5 KB
View
references/templates/GlobalExceptionHandler.java.tpl2.5 KB
View
references/templates/NotFoundException.java.tpl0.2 KB
View
references/templates/SpringDataRepository.java.tpl0.2 KB
View
scripts/generate_crud_boilerplate.py36.2 KB
View

Install spring-boot-crud-patterns

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

giuseppe-trisciuoglio/developer-kit

Related Skills

parallel-web

45,195

create-blazor-project

5,423

od-contribute

96,513

redesign-existing-projects

96,513