Migrate to Spring Boot 4.0
Recipe ID
org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0Artifact
org.openrewrite.recipe:rewrite-springMigrate applications to the latest Spring Boot 4.0 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.spring.boot4.UpgradeSpringBoot_4_0If the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-spring:6.36.0Definition
This recipe runs the following recipes in order.
- Migrate to Spring Boot 3.5
org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_5 - Migrate to Spring Cloud 2025.1
org.openrewrite.java.spring.cloud2025.UpgradeSpringCloud_2025_1 - Migrate to Spring Framework 7.0
org.openrewrite.java.spring.framework.UpgradeSpringFramework_7_0 - Migrate to Spring Security 7.0
org.openrewrite.java.spring.security7.UpgradeSpringSecurity_7_0 - Migrate to Spring Batch 6.0 from 5.2
org.openrewrite.java.spring.batch.SpringBatch5To6Migration - Migrate Spring Boot properties to 4.0
org.openrewrite.java.spring.boot4.SpringBootProperties_4_0 - Replace
@MockBeanand@SpyBeanorg.openrewrite.java.spring.boot4.ReplaceMockBeanAndSpyBean - Relocate Spring Boot web server classes to their Spring Boot 4.0 packages
org.openrewrite.java.spring.boot4.RelocateWebServerClasses - Migrate to Hibernate 7.1.x
org.openrewrite.hibernate.MigrateToHibernate71 - Migrate to testcontainers-java 2.x
org.openrewrite.java.testing.testcontainers.Testcontainers2Migration - Upgrade to SpringDoc 3.0
org.openrewrite.java.springdoc.UpgradeSpringDoc_3_0 - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Upgrade Maven plugin version
org.openrewrite.maven.UpgradePluginVersion - Migrate a Spring Boot 3
jackson-bom.versionoverride tojackson-2-bom.versionorg.openrewrite.java.spring.boot4.MigrateJacksonBomProperty - Upgrade Maven parent project version
org.openrewrite.maven.UpgradeParentVersion - Remove redundant explicit dependency and plugin versions
org.openrewrite.maven.RemoveRedundantDependencyVersions - Remove redundant explicit dependency and plugin versions
org.openrewrite.maven.RemoveRedundantDependencyVersions - Update a Gradle plugin by id
org.openrewrite.gradle.plugins.UpgradePluginVersion - Update Gradle wrapper
org.openrewrite.gradle.UpdateGradleWrapper - Update a Gradle plugin by id
org.openrewrite.gradle.plugins.UpgradePluginVersion - Upgrade Maven plugin version
org.openrewrite.maven.UpgradePluginVersion - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Migrate to Spring Boot 4.0 modular starters
org.openrewrite.java.spring.boot4.MigrateToModularStarters - Rename Spring Boot 4.0 starters with managed versions
org.openrewrite.java.spring.boot4.RenameDeprecatedStartersManagedVersions - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Remove a Gradle or Maven dependency
org.openrewrite.java.dependencies.RemoveDependency - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Change Gradle or Maven dependency
org.openrewrite.java.dependencies.ChangeDependency - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Add
@AutoConfigureTestRestTemplateif necessaryorg.openrewrite.java.spring.boot4.AddAutoConfigureTestRestTemplate - Add
@AutoConfigureWebTestClientif necessaryorg.openrewrite.java.spring.boot4.AddAutoConfigureWebTestClient - Migrate OpenAPI Generator
springconfiguration to Spring Boot 4org.openrewrite.java.spring.boot4.MigrateOpenApiGeneratorToSpringBoot4 - Migrate jsonschema2pojo configuration to Spring Boot 4
org.openrewrite.java.spring.boot4.MigrateJsonschema2PojoToSpringBoot4
Data tables
Structured output this recipe can produce.
- Maven metadata failuresAttempts to resolve maven metadata that failed.
org.openrewrite.maven.table.MavenMetadataFailures - Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats