The purpose of a bill of materials(bom) is to centrally manage Maven dependencies and reduce the chances of version mismatches. The concept is orignally from supply chain management where it is used to track parts.
The key points of boms are –
One advantage of bill-of-materials is that you can set out the recommended version dependencies, and use these through your application framework-
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>4.3.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
You can then import dependencies in sub-project pom’s without version numbers –
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency>
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/overview.html