Overview
In general, Spring IO Platform is a single maven dependency configuration that include a list of predefine library dependencies and their version. All spring project libraries will be part of the list, and of course some other common use library such as hibernate, jackson, hadoop, logback, h2database and more you can check it out from here
How to use?
Bill-of-materials is a maven artifact, all we need to do is include this piece of configuration in your pom.xml. And include the rest of dependencies library that you need without defined their version.
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dependency> ...... more dependency ....... <dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>1.1.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Comparison
By compare side by side, you may see the Spring IO platform provide more elegant way to organize your build tools.
<groupId>com.codeomitted</groupId> <artifactId>bazi</artifactId> <version>1.0.0-SNAPSHOT</version> <properties> <java-version>1.7</java-version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <easymock.version>3.2</easymock.version> <slf4j.version>1.5.10</slf4j.version> <cglib.version>3.1</cglib.version> <common.pool2.version>2.3</common.pool2.version> <spring.version>1.2</spring.version> </properties> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency>
To know exactly which version you are using, you can type maven command mvn dependency:tree Example below, except for the cglib and easymock are provided version. The rest of the library version are handle by platform-bom version 1.1.2 RELEASE