It’s time for a new Stratospheric eBook release! 🥳
This time it’s a pretty big one, as we’ve migrated the Stratospheric sample Todo application to Spring Boot 3.0 and Spring Cloud AWS 3.0.
The release of Spring Boot 3.0 marks a new era of developing applications with the Spring Framework. 4.5 years after the release of Spring Boot 2.0, we’re now looking into a bright future and can make the most of Spring Framework 6, Java 17, and GraalVM.
Even though Spring Boot 3.0 went GA in November 2022, it took us some time to incorporate the changes and wait for a compatible Spring Cloud AWS version. With the release of Spring Cloud AWS 3.0.0-RC1 we doubled down on the migration and wanted to provide a Spring Boot 3.0 compatible version of the ebook as soon as possible.
While you may want to wait until a GA version of Spring Cloud AWS 3.0 is released, our main goals is to move fast so that you have a blueprint for the migration path. Please note that things might still change, and we’re closely following the development and will update to a GA version as soon as it is available.
With the migration to Spring Cloud AWS 3.0, we also applied various new features and improvements. For example, we’re now using the new DynamoDB integration to simplify how we interact with DynamoDB in our Spring Boot application.
When it comes to breaking changes, these are the most important ones:
- Spring Cloud AWS: Namespace changes from
cloud.aws
tospring.cloud.aws
- Spring Cloud AWS: Usage of the AWS SDK v2 (coming from
software.amazon.awssdk
- no longercom.amazonaws
This applies to any direct usage of the AWS SDK client APIs. - Spring Cloud AWS: Usage of the new
SqsTemplate
as a successor of theQueueMessagingTemplate
- Spring Security: Removal of
mvcMatchers
in favor ofrequestMatchers
- Spring Core: Migration from the
javax
to thejakarta
namespace - Spring Core: Java 17 as a baseline
For a side-by-side comparison of the required code changes for the migration, have a look the commit that introduced Spring Boot 3.0 and Spring Cloud AWS 3.0.
Furthermore, we simplified the retrieval of the Cognito user pool client secret as part of our CDK setup. Thanks to Giulio (giuliopulina) for suggesting this improvement.
There is one caveat with the migration: As of now, there’s no Spring Boot 3.0 compatible release for the Spring Boot Starter for Active MQ. As a workaround, we’re still using Spring Boot 2.7.X for that area of our sample application. While mixing different Spring Boot versions within the same application is something to avoid, we didn’t want to postpone this ebook release. The application works as expected, and we’re working on a small refactoring to also bump this area to Spring Boot 3.0.
With our goal to keep the content relevant and up-to-date, we sometimes fail to keep the manuscript in sync or miss sections to adjust. Feel free to report any inconsistencies as soon as you find them.
If you’ve already purchased the eBook, you can now download the latest version at no extra charge in your Leanpub Book Library.
For further questions, feedback, or errata, either drop us a message (info@stratospheric.dev) or open an issue at the GitHub repository.
PS: We’re currently preparing and recording the remaining lessons for the Stratospheric online course. Up until the last course lesson is available, you can enroll with a discount as part of our early-bird offer.