spring-boot-crud-patterns

Generate Spring Boot CRUD REST endpoints and JPA persistence adapters.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/rizaldiem/digital-invitation-web_V2 --skill spring-boot-crud-patterns-rizaldiem
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spring-boot-crud-patterns
Source: https://github.com/rizaldiem/digital-invitation-web_V2/tree/main/.windsurf/skills/spring-boot-crud-patterns
Command: npx skills add https://github.com/rizaldiem/digital-invitation-web_V2 --skill spring-boot-crud-patterns-rizaldiem

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

Provides a repeatable, opinionated workflow to implement consistent, maintainable CRUD REST services and persistence adapters in Spring Boot projects, reducing boilerplate and preventing architectural leaks between domain, application, presentation, and infrastructure layers.

Core Features & Use Cases

  • Feature-aligned architecture: Encourages feature/<name> packages with domain, application, presentation, and infrastructure boundaries to keep concerns separated.
  • CRUD scaffolding & adapters: Generates domain repositories, JPA entities/adapters, transactional application services, DTO records with jakarta.validation, and REST controllers with standard HTTP semantics.
  • Generator-driven workflow: Includes a Python generator to scaffold feature code from a JSON/YAML entity spec and templates, suitable for bootstrapping new aggregates or standardizing existing ones.
  • Testing & production guidance: Recommends unit tests, @DataJpaTest with Testcontainers for persistence, pagination, optimistic locking, and observability via Actuator and structured logging.

Quick Start

Run the included Python generator with an entity spec, package name, templates directory, and output path to scaffold domain, application, infrastructure, and presentation code for a new feature.

Frequently Asked Questions about spring-boot-crud-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scaffold CRUD REST endpoints and JPA persistence in Spring Boot 3?

To scaffold CRUD REST endpoints and JPA persistence in Spring Boot 3, use a generator-driven workflow that outputs domain interfaces, JPA entity adapters, transactional application services, and controllers with standard HTTP semantics from a JSON or YAML entity spec.

What is the best way to structure a Spring Boot CRUD service using domain-driven design?

The best way to structure a DDD Spring Boot CRUD service is using feature-oriented packages to model aggregates, repositories, application services, controllers, and DTOs. This approach separates domain, application, presentation, and infrastructure boundaries to prevent architectural leaks.

Can I generate paginated list endpoints and DTO records with jakarta.validation automatically?

Yes, you can generate paginated list endpoints and DTO records with jakarta.validation automatically. The scaffolding process produces DTO records with validation annotations and REST controllers that include paginated list endpoints out of the box.

Does this Spring Boot CRUD generator support Testcontainers for persistence testing?

Yes, this Spring Boot CRUD generator supports Testcontainers for persistence testing. It specifically recommends unit tests and @DataJpaTest with Testcontainers, alongside guidance for pagination, optimistic locking, and observability via Actuator.

How do I bootstrap a new Spring Data JPA aggregate from a YAML entity spec?

To bootstrap a new Spring Data JPA aggregate from a YAML entity spec, run the included Python generator with the spec file, package name, templates directory, and output path to scaffold the domain, application, infrastructure, and presentation code for the feature.