spring-service

star 234

Generate a Spring Boot service class for a named entity with constructor injection, logging, exception handling, and unit tests. Invoke as /spring-service <Entity>.

kousen By kousen schedule Updated 5/8/2026

name: spring-service description: Generate a Spring Boot service class for a named entity with constructor injection, logging, exception handling, and unit tests. Invoke as /spring-service . paths: - "**/*.java" user-invocable: true

Spring Service Scaffold

Generate a $ARGUMENTSService with:

  • @Service annotation
  • Constructor injection of $ARGUMENTSRepository (no field @Autowired)
  • CRUD methods: findAll(), findById(id), create(request), update(id, request), delete(id)
  • Domain exceptions (e.g., EntityNotFoundException) thrown for missing-by-id; let @ControllerAdvice translate to HTTP if present
  • SLF4J logging at meaningful boundaries — entry on writes, warn on validation rejection, debug on reads
  • Unit tests using JUnit 5 + Mockito, with @MockitoBean and @MockitoSpyBean where appropriate
  • Use modern Java idioms (records for DTOs, pattern matching, var where readable)

Constraints

  • Match the existing project package layout
  • Don't introduce Lombok if the project doesn't already use it
  • If the project uses MapStruct, generate a mapper interface; otherwise, write the mapping inline
  • Tests should cover happy path, not-found, and at least one validation/edge case per write method

Usage: /spring-service UserUserService, UserServiceTest

Install via CLI
npx skills add https://github.com/kousen/claude-code-training --skill spring-service
Repository Details
star Stars 234
call_split Forks 121
navigation Branch main
article Path SKILL.md
More from Creator