
The java-springboot skill provides developers with comprehensive best practices for building Spring Boot applications, covering project structure, dependency injection, configuration management, web layer design, service layer patterns, data access, and logging. It serves Java developers who want to write maintainable, testable, and production-ready Spring Boot applications by following established conventions for component organization, externalized configuration, RESTful API design, and transaction management. The skill solves the problem of inconsistent application architecture and quality by establishing clear guidelines across all layers of a Spring Boot application.
$ npx -y skills add github/awesome-copilot --skill java-springboot --agent claude-codeInstalls into .claude/skills of the current project.
Opinionated rules plus a router to deeper references. Code samples in the references were compiled and run on Spring Boot 4.1.1 (Spring Framework 7) and, where they differ, on Boot 3.5.16 (Framework 6.2). Boot 3 vs 4 differences are marked "Boot 3" / "Boot 4" in each reference.
pom.xml/build.gradle(.kts) for the Spring Boot version, Java version, starters in use (spring-boot-starter-web is Boot 3, spring-boot-starter-webmvc is Boot 4), persistence (JPA, JDBC), the migration tool, the test setup, and the package layout and naming conventions of the existing code. Match them.spring-boot-4-migration).latest)../mvnw verify or ./gradlew build (plain mvn/gradle if no wrapper). Integration tests need Docker when they use Testcontainers.| Task | Read |
|---|---|
Repositories, projections, pagination, N+1, @Transactional, auditing, Flyway/Liquibase, Spring Data JDBC | references/data.md |
Controllers, validation, ProblemDetail, RestClient, @HttpExchange, API versioning, OpenAPI, JSpecify | references/rest-api.md |
Kafka/AMQP, @Cacheable/Caffeine, @Scheduled, @Async, virtual threads, outbox | references/messaging-caching.md |
@ConfigurationProperties, profiles, secrets, config import, Docker Compose / Testcontainers at dev time | references/configuration.md |
| AOT, CDS/AppCDS, lazy initialization, native image | references/aot-and-startup.md |
If these standalone skills are installed, also use them for their topic; otherwise rely on the official docs: java-hibernate-jpa (JPA mapping), spring-boot-testing (tests), spring-security (authentication, authorization, CSRF/CORS), spring-observability (metrics, tracing, Actuator, logs), create-spring-boot-java-project (project defaults, Boot 3 vs 4 build changes), java-add-graalvm-native-image-support (native executable).
@Valid; one @RestControllerAdvice returning ProblemDetail. JSpecify annotations document nullability only and do not validate.tools.jackson.databind.*, JsonMapper; annotations stay in com.fasterxml.jackson.annotation); Boot 3 uses Jackson 2 (com.fasterxml.jackson.databind.*, ObjectMapper).@EnableJpaAuditing, @EnableCaching, @EnableAsync, @EnableScheduling on dedicated @Configuration classes, not on the @SpringBootApplication class, or slices such as @DataJpaTest fail to start (for example, no CacheManager). Slices do not scan @Configuration classes: @Import the one a test needs.@Cacheable, @Async and @Transactional work through proxies: they do nothing on self-invocation or on private/final methods; test them through the injected bean../mvnw verify / ./gradlew build passes; secrets absent from code, properties and logsSee also: Spring Boot reference https://docs.spring.io/spring-boot/reference/, Spring Framework reference https://docs.spring.io/spring-framework/reference/, Spring Data https://docs.spring.io/spring-data/commons/reference/.
Sponsors