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 this fall: Java 9 got released, Spring 5 went GA, Spring Boot saw another three 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, which is expected to be made generally available on the 18th of December 2017.

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.

  • 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.
  • 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.

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.

About the Author László Csontos

I’m László Csontos (@springunidotcom) and my focus area has been Java development in the last 12 years. During past projects I had almost always worked on the back-end. Later I specialized in developing applications with the Spring Framework and got acquainted with its internals. I’d like to share and pass that knowledge on what I learned as a software engineer and help others to boost their carriers by learning Spring which is the most popular Java framework out there for creating enterprise software.