Overriding Dependency Versions with Spring Boot

This article explains some of the dependency management tricks that
can be used to create libraries and apps that depend on newer versions
of a transitive dependency than that managed by a platform like
Spring Boot or the
Spring IO Platform. The
examples below uses Reactor as an example
of such a dependency because it is nearing a major new release (2.5.0)
but existing dependency management platforms (Spring Boot 1.3.xq)
declare a dependency on older versions (2.0.7). If you wanted to write
an app that depended on a new version of Reactor through a transitive
dependency on a library, this is the situation you would be faced


Spring Boot 1.4.0.M2 Available Now

Spring Boot v1.4.0.M2 is available now from the Spring milestone repository. This is an absolutely massive release, closing over 180 issues and pull requests! Thanks to everyone that has contributed.

Highlights of the new release include:

  • ASCII Art banners generated from image files (gif,jpg or png).
  • Easier JsonSerializer and JsonDeserializer registration with @JsonComponent.
  • Couchbase support.
  • Neo4J support
  • Narayana transaction manager support.
  • Upgrades to Spring Framework 4.3, Hibernate 5.1, Jackson 2.7, Solr 5.5, Spring Data Hopper, Spring Session 1.2 & Hazelcast 3.6.
  • A massive overhaul of testing support including a new unified @SpringBootTest annotation, @MockBean and @SpyBean support, JSON AssertJ support and auto-configuration for tests.