Skip to content
cccskills
FreePublished on GitHub

spring-boot-migration

Use when upgrading an application from Spring Boot 3.5 to Boot 4, completing a Framework 7 migration, replacing modular starters, adopting Jackson 3, or diagnosing post-upgrade failures.

The English summary is being prepared. Showing the original description.

See how to install

Files included (4)

  • SKILL.md2.9 KB
  • agents/openai.yaml205 B
  • examples/bad-migration-plan.md237 B
  • examples/good-migration-plan.md391 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Spring Boot 4 Migration

Migrate from the latest Boot 3.5 release and keep business changes outside the upgrade diff.

Required baseline

  • Use Java 17 or newer; prefer Java 21 for application builds.
  • Use Spring Framework 7, Jakarta EE 11, and a Servlet 6.1-compatible container.
  • Upgrade Kotlin to the supported baseline when applicable.
  • Use a Boot 4-compatible Spring Cloud release train.
  • Use GraalVM 25 or newer for native images.

Migrate modules and starters

Boot 4 splits infrastructure into focused modules and starters.

  • Replace spring-boot-starter-web with spring-boot-starter-webmvc.
  • Use dedicated technology starters such as spring-boot-starter-flyway.
  • Use technology-specific test starters; they bring the core test starter transitively.
  • Use spring-boot-starter-security-test for Spring Security test support.
  • Use spring-boot-starter-batch-jdbc when jobs require persistent metadata and restartability.
  • Use classic starters only as a temporary migration bridge, then remove them.

Migrate code

  • Replace Jackson 2 com.fasterxml.jackson customization with Jackson 3 tools.jackson APIs.
  • Replace removed @MockBean and @SpyBean with framework Mockito bean overrides.
  • Add @AutoConfigureMockMvc when a @SpringBootTest requires MockMvc.
  • Replace removed or moved Boot package imports and deleted Boot 3 deprecations.
  • Remove Undertow configuration and verify the selected server supports Servlet 6.1.

Configuration workflow

  1. Add spring-boot-properties-migrator temporarily.
  2. Start every supported profile and fix each reported property.
  3. Remove the migrator before release.
  4. Compare /actuator/configprops, logging, JSON, and endpoint behavior against the baseline.

Verification

  • Run unit, slice, integration, native, startup, and database migration tests as applicable.
  • Verify JSON contracts, security failure responses, actuator exposure, and test slice composition.
  • Inspect the dependency tree for old starters, duplicate Jackson generations, and unmanaged versions.

Examples

  • See examples/good-migration-plan.md and examples/bad-migration-plan.md.

Gotchas

  • Agent keeps old starter names because compilation succeeds transitively - use Boot 4 dedicated starters.
  • Agent adds both a technology test starter and the classic test starter - avoid duplicate test graphs.
  • Agent leaves Jackson 2 and Jackson 3 customizations together - migrate the complete JSON boundary.
  • Agent expects plain Batch starter metadata to persist - use the JDBC starter when restartability matters.
  • Agent leaves the properties migrator or classic starters installed - remove temporary migration aids.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Use when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor telemetry, or protected prompt and completion logging. Use production-observability for general service metrics, health, logs, and OTLP setup.

The English summary is being prepared. Showing the original description.

rrezartprebreza/spring-boot-skills313Updated Oct 17, 2026

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 4 / Spring Framework 7. Covers built-in mapping versions, request version resolution, defaults, supported versions, and deprecation headers.

The English summary is being prepared. Showing the original description.

rrezartprebreza/spring-boot-skills313Updated Oct 17, 2026

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type strategies, compatibility rules, and deprecation handling.

The English summary is being prepared. Showing the original description.

rrezartprebreza/spring-boot-skills313Updated Oct 17, 2026

Use when introducing or correcting grouped Spring Boot configuration, typed property binding, validation, profiles or secret injection. Do not rewrite unrelated single-value configuration.

The English summary is being prepared. Showing the original description.

rrezartprebreza/spring-boot-skills313Updated Oct 17, 2026

Use when packaging a Spring Boot 3 application as an OCI image or GraalVM native executable. Covers buildpacks, layered images, JVM containers, AOT hints, probes, security, and verification.

The English summary is being prepared. Showing the original description.

rrezartprebreza/spring-boot-skills313Updated Oct 17, 2026

Use when packaging Spring Boot 4 as an OCI image, JVM container, AOT application, or GraalVM native executable. Covers buildpacks, layers, runtime hints, probes, security, and verification.

The English summary is being prepared. Showing the original description.

rrezartprebreza/spring-boot-skills313Updated Oct 17, 2026

See all skills by rrezartprebreza

Report a problem with this skill