What is the relationship between Spring Boot and Spring IO?

Spring IO provides a superset of the dependencies managed by the Spring Boot starter-dependencies. Spring IO level-sets the dependencies across the various Spring projects, but no additional runtime requirements. It is not, in that sense, a project so much as very convenient dependency management solution.

Spring IO is a logical construct - you can think of the various pieces as being part of this larger, managed platform. This does not require you to use all of the libraries, of course. Please check out the announcement blog for more details.

If you want to consume the Spring Boot starter dependencies, then there's no reason to change. If you're using other Spring projects, without the benefit of the Spring Boot starter dependencies, then the Spring IO platform is tailor-made for you.


Spring boot offers you many dependency-set to enable features, it will include dependencies (properly) in your classpath. On the other hand, Spring IO offers you NO dependencies at all, it can only help you to manage your dependencies(like to manage your dependency versions), if you need any dependency or dependency-set(e.g. via spring boot), you need to help yourself and add them manually.


There is an interesting article on DZone by Pilar Argudo about this relationship. Here is the conclusions of this article:

  • Spring IO Platforms allows you to manage dependencies without worrying about the versions and compatibility between them.
  • Spring Boot makes the Spring application configuration easy using predefined properties, annotations and starters as dependencies.
  • Spring IO Platform includes Spring Boot as a parent. That’s the reason because Spring IO Platform includes all Spring Boot dependencies and starters.
  • Use Spring IO Platform as a parent if you want to use Spring IO Platform and Spring Boot together.

Update

Note that Spring IO will reach end of life. From the project main page:

The Platform will reach the end of its supported life on 9 April 2019. Maintenence releases of both the Brussels and Cairo lines will continue to be published up until that time. Users of the Platform are encourage to start using Spring Boot's dependency management directory, either by using spring-boot-starter-parent as their Maven project's parent, or by importing the spring-boot-dependencies bom.


Spring IO Platform defines a set of dependencies (both Spring Framework dependencies as third-party libraries) that could be included in a Java project to allow you to choose the necessary dependencies without worrying about compatibility between their versions. and the spring boot is different because it is a framework that makes development and configuration of Spring applications easy. Here is a list of predefined properties and configuration classes that could be included using Java annotations and starters.