DEV Community

Cover image for Spring Application Advisor: The Key to Next-Level App Management
michelle sebek
michelle sebek

Posted on

1

Spring Application Advisor: The Key to Next-Level App Management

Spring developers, have you ever wished for automatic pull requests every time there is a new version of Spring available? If you love Spring, you are not only creating applications but also your own internal components with common utilities using it. In those cases, upgrading applications can quickly become complex, especially if Spring usage is in several repositories maintained by different teams because upgrades need to occur in a specific order. Enter Spring Application Advisor—the new tool designed to accelerate your upgrade process, which removes all the team coordination required to upgrade Spring.
In this post, I’ll dive into the key features of Spring Application Advisor. Let’s explore how this tool is poised to streamline your processes and empower you to focus on what really matters: building amazing applications.

What Is Spring Application Advisor?
Spring Application Advisor is a suite of features designed to help developers upgrade Spring. The solution calculates the upgrade plan to use the latest and greatest version of Spring. Every step of the plan will be a pull request that contains all the Java code changes to adopt the next version of projects that need to be upgraded together (e.g. Hibernate, Spring Data J, Spring Framework, or why not? your common utilities).
Every time the pull request of a step is merged, another pull request for the next step will be created.

Every pull request that gets merged improves your security posture because no matter how old your Spring dependencies, you are getting closer to being under a supported version.

Image description

Image description

Spring Application Advisor can also be integrated with the Tanzu Platform UI and give you insights about the support status of your Spring dependencies across all your repositories. This helps to prioritize upgrades across all your repositories.

Key Features of Spring Application Advisor

Image description

Spring Support Analysis: Application Advisor allows you to gain deeper visibility into your Spring dependencies across all your repositories.
Prevents invalid upgrades: No pull requests will be generated if some common libraries need to be upgraded first. Once they are upgraded, the workflow continues.
Complete and continuous Spring upgrades: Spring Application Advisor understands all the Spring and third-party projects that need upgrading together. Automatic Spring upgrades across all your sources are applied according to Spring recommendations.

How Spring Application Advisor Accelerates Upgrades
Spring Application Advisor isn't just another modernization tool. They aim to provide contextual advice and actionable insights to reduce manual intervention and speed-up upgrades Here’s how they help:

  • No coordination between teams is required for major upgrades: By resolving what artifacts need to be upgraded first, the pull requests are paused until upstream dependencies are upgraded.

  • Smart Upgrade Plan Resolution: Spring Application Advisor contains a database with all the Spring projects (e.g Spring Security), the most relevant OSS projects (e.g Springdoc, Springfox, Hibernate…) that use or are used by Spring, their versions (e.g 2.x), how they depend on each other and how to upgrade them. This database can be extended with your own internal components. Spring Application Advisor uses this database to resolve which projects need to be upgraded together, which prevents a lot of trial and error during the upgrade process.

  • Every repository can upgrade at their own pace: Spring Application Advisor provides incremental upgrades to minimize the number of code changes reduce the risk of build failures and ensure that pull requests are small enough to be easily reviewable.

Real-World Use Cases
These tools aren’t just theoretical. Many teams working with Spring Boot and Spring Framework have already begun to leverage Spring Application Advisor to boost their Spring upgrades.

Why You Should Care
If you’re working with Spring in a production environment, the latest Spring Application Advisor can significantly enhance your ability to keep things running smoothly while keeping them upgraded. This new era of application management offers a more efficient, automated way to maintain your Spring applications, and that’s something we can all get behind.
For more detailed insights into the latest features of Spring Application Advisor, make sure to check out the full blog post on the VMware Tanzu website. It covers everything you need to know, from setup to best practices.
🔗 Read the full post here: A New Era for Spring Application Management

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs