Spring Boot 2.0 New Features: The 3 Most Important Changes You Must Know About
As a Java Developer, you know that a lot had happened last fall: Java 9 got released, Spring 5 went GA, Spring Boot saw another four milestone releases. As a Software Engineer using Java for more then 12 years and a focus area on Spring Platform, I have found two presentations highlighting the most important aspects of the upcoming Spring Boot 2 release.
Is everything is proceeding as planner, Spring Boot 2 is expected to be made generally available on the 20th of February 2018.
Spring Boot 2.0 builds on and requires Spring Framework 5.0. There are a number of nice refinements in Spring Framework 5.0 including extensive support for building reactive applications. Josh Long (Developer Advocate at Pivotal) in his talk Reactive Spring, not only introduced reactive programming and what it’s about, but he also gave a hands-on live coding demo on how to use Spring 5 for building message-driven, elastic, resilient and responsive services. The demonstration was mostly done in Kotlin and for developing the client application for the reactive service, Josh used Java.
Spring Boot 2.0 brings an entire array of new possibilities leveraging reactive features in all Spring projects. Stéphane Nicoll (Lead Engineer at Pivotal) and Brian Clozel (Spring Boot committer) in their presentation Spring Boot 2.0 Web Applications at Devoxx Belgium gave a sneak peek into how template engine integration (through Thymeleaf 3.0), Spring Data Kay and Spring Boot Actuator support reactive programming. Stéphane and Brian demonstrated an IoT smart metering application for collecting real-time measurement data and publishing that on a simple dashboard.
Based on the two presentations above, here is what you can do to prepare for adopting Spring Boot 2.
- Be aware of infrastructure changes – Spring Boot 2 requires Java 8 and support for Java 9 has started to appear in M4 and there’s a dedicated Wiki page Spring Boot with Java 9 dealing with it. Core libraries Spring Boot relies on (eg. Tomcat, Hibernate, etc.) have also been upgraded.
- Embrace Reactive – Reactive programming has gained traction over the last few years, embrace it when you start using Spring Boot 2 or Spring 5
- Be aware of actuator changes – Using health check is vital part of every production application, Spring Boot 2 introduces many changes to them. Refer to the release notes of M1, M2, M4, M5 and M6.
Naturally, Spring Boot 2 introduces many other changes as well, not just those three ones I listed above and every project will have different challenges when migrating from Spring Boot 1.5.x.
With that said, take some time and study the release notes. At the time of writing it’s published per milestone and a full list will be given only when GA comes out.