Jun 27, 2017

Exciting things in Spring Boot 2

I looked at the release notes for Spring Boot 2.0.0.M1 not expecting a lot of exciting changes but was surprised by some compelling things. There is the usual “deprecated classes are removed” and “Dependency X is upgraded” but there are some more exciting changes.

Java 8 Only

I think we can all agree that this is a good thing and a long time coming.

HikariCP over Tomcat Connection Pooling

I was happy to see Spring Boot 2 changing the connection pooling library to HikariCP. I’ve used HikariCP in past projects and its great for high-performance services. As it’s documentation states “There are a lot of knobs to tweak” so I assume that they will be exposed in application.properties. Luckily HikariCP works well out-of-the-box with no tweaks.

Better Gradle Support

I always felt that Gradle has been a second-class citizen in the Spring Boot world but they are making strides to change that in Spring Boot 2. You can see a list of their closed issues. Things I really liked seeing:

  • bootJar and bootWar now extend the jar and war tasks. This fits better into Gradle’s model and makes it a better Gradle citizen. See the Github issue for some interesting reading.
  • The minimal Gradle version is 3.4 and it supports Reproducible Builds and so does Spring Boot 2.
  • Some Spring Boot tasks weren’t listed in the correct section running gradle tasks. This sounds like a simple thing, but I think it’s a good change, especially for people just coming to Spring Boot.

Spring Boot 2 is only on Milestone 2 with a full release scheduled in November, so we still have a long ways to go but I like the changes I see so far!

About the Author

Mike Hostetler profile.

Mike Hostetler

Principal Technologist

Mike has almost 20 years of experience in technology. He started in networking and Unix administration, and grew into technical support and QA testing. But he has always done some development on the side and decided a few years ago to pursue it full-time. His history of working with users gives Mike a unique perspective on writing software.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Blog Posts
Using Conftest to Validate Configuration Files
Conftest is a utility within the Open Policy Agent ecosystem that helps simplify writing validation tests against configuration files. In a previous blog post, I wrote about using the Open Policy Agent utility directly to […]
SwiftGen with Image & Color Asset Catalogs
You might remember back in 2015 when iOS 9 was introduced, and we were finally given a way to manage all of our assets in one place with Asset Catalogs. A few years later, support […]
Tracking Original URL Through Authentication
If you read my other post about refreshing AWS tokens, then you probably have a use case for keeping track of the original requested resource while the user goes through authentication so you can route […]
Using Spring Beans in a Kafka Streams ExceptionHandler
There are many things to know before diving into Kafka Streams. If you haven’t already, check out these 5 things as a starting point. Bullet 2 mentions designing for exceptions. Ironically, this seems to be […]