Skills for creating, testing, reviewing, migrating and guarding Spring Boot 4 projects with Java 25: project scaffolding with architecture patterns, Boot 4 test templates, code review, Boot 3 to 4 migration, and a team harness of build gates and agent hooks.
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Use this file to route scanner findings to the right guide. The guides hold the details.
spring-boot-4-migration.md)spring-modulith-2-migration.md). Boot 4 needs Modulith 2; Modulith 1.x does not run on it.testcontainers-2-migration.md). Boot 4 manages Testcontainers 2 versions, so test code must move too.Steps 2 and 3 are part of the same upgrade when the project uses them. Build and test after each step.
| Finding | Guide section |
|---|---|
| Starter renames, missing restclient/flyway starters | spring-boot-4-migration.md#phase-1-dependencies |
com.fasterxml.jackson.databind imports, Jackson 2 customizers | spring-boot-4-migration.md#jackson-3 |
@MockBean / @SpyBean, old WebMvcTest package, TestRestTemplate | spring-boot-4-migration.md#phase-3-tests |
spring-retry, @EnableRetry, org.springframework.retry imports | spring-boot-4-migration.md#spring-retry--native-resilience |
Manual HttpServiceProxyFactory | spring-boot-4-migration.md#optional-modernization |
| Renamed properties | spring-boot-4-migration.md#phase-4-configuration |
Modulith 1.x dependencies, event_publication table | spring-modulith-2-migration.md |
Testcontainers 1.x artifacts, org.testcontainers.containers.* imports, <?> generics | testcontainers-2-migration.md |
StableValue / StructuredTaskScope preview APIs | ../../creating-springboot-projects/references/java-version-policy.md |
spring-boot-starter-classic + spring-boot-starter-test-classic first, then modular starters later.org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0 in org.openrewrite.recipe:rewrite-spring. It is under the Moderne Source Available License and needs extra Maven repository setup. Ask the user before using it, and review its changes like any other diff.spring-boot-properties-migrator reports renamed properties at startup. Remove it after the upgrade.