Organizations frequently need to modernize legacy Spring Boot applications (such as versions 2.1 or 2.2) to newer, supported releases (like 3.5 or 4.1). This article explains what VMware Tanzu Spring Application Advisor is, how it orchestrates complex version migrations, and how you can easily use it to automate the upgrade of your Spring applications.
Tanzu Spring App Advisor
Manually upgrading a Spring application across major releases is a complex, time-consuming process. Developers must address hundreds of API deprecations, manage cascading dependency conflicts, upgrade baseline Java requirements (e.g., migrating to Java 17 for Spring Boot 3.x), and carefully step through intermediate releases (such as bridging through Spring Boot 2.7) to ensure a stable upgrade path. Doing this manually across an entire codebase or portfolio is highly prone to human error.
Tanzu Spring Application Advisor is a CLI-based tool designed to act as an upgrade orchestrator. Instead of forcing a massive, single-step migration that might break an application, it continuously analyzes your codebase and generates incremental, manageable steps to modernize your Spring applications. It integrates directly with your version control systems (using Git access tokens) to automatically generate Pull Requests (PRs) containing updated dependencies and refactored Java code.
Application Advisor supports upgrading applications starting from as early as Spring Boot 1.0.x (and Spring Framework 2.0.x).Note: While earlier versions are supported, the most comprehensive automated refactoring (where the tool handles nearly 100% of deprecations and breaking changes) begins at Spring Boot 2.7.x.
If your upgrade path crosses into Spring Boot 3.x or 4.x, be prepared to upgrade your application's JVM to at least Java 17 (supported up to Java 26).
Application Advisor handles upgrades incrementally. If you are upgrading from 2.1 to 4.1, it will not make the jump in one step. Instead, it builds an upgrade plan that steps the application through necessary intermediate versions (e.g., 2.1 -> 2.7 -> Java 17 upgrade -> 3.x -> 4.1). Reference
To execute an upgrade, you use the following CLI workflow:
Generate Build Config: Run advisor build-config get in the root of your source code repository to analyze your compile-time dependencies.
Review the Upgrade Plan: Run advisor upgrade-plan get. This generates a sequential, step-by-step roadmap detailing the incremental upgrades required to get the application to the latest version in the catalog.
Apply the Upgrades: Run advisor upgrade-plan apply --push. By default, this applies only the first step of the upgrade plan and automatically pushes a Pull Request to your Git repository for developers to review and merge.