Noun Explanation:
BOM (Bill of Materials): Bill of Materials, a good way to resolve the dependency of a jar package.
Spring IO Platform
Origin: Spring initially focused only on IOC and AOP and has now developed into a huge system. such as security, MVC and so on. As a result, depending on the module or external integration, dependent processing needs to correspond to the respective version number. For example, with newer spring and older quartz, they will encounter problems with integration and inconvenience to build and upgrade. So spring IO platform comes into being, as long as the project introduces it, the external integration dependencies don't need a version number. The official website is as follows: "When you do declare a dependency on something that's part of the Platform, you'll now is able to omit the Versi On number. "
Examples are as follows:
<dependencies> <dependency> <groupId>org.springframework</groupId> </ Dependency></dependencies>
Spring IO platform is just a pom file that records the versions of spring that correspond to other open source projects. Omitting the version number eliminates the problem of processing dependencies because there is an optimal version configuration in spring IO platform.
Spring-related BOMs
Of course SpringSource in order to resolve these jar conflicts, the introduction of a variety of BOM, of course, the most famous is the spring platform Io BOM, the core of the three are: Spring-framework-bom, Spring-boot-dependencies, Platform-bom.
For spring Engineering, the challenge of managing version conflicts can be avoided by adding the following configuration code directly to the Pom.xml file.
<dependencyManagement> <dependencies> <dependency> <groupid>org.springframewo Rk</groupid> <artifactId>spring-framework-bom</artifactId> <version>4.2.0.re Lease</version> <type>pom</type> <scope>Import</scope> </dependency> <dependency> <groupId>org.springframework.boot< /groupid> <artifactId>spring-boot-dependencies</artifactId> <VERSION>1.3.0.M2&L T;/version> <type>pom</type> <scope>Import</scope> </dependency> <dependency> <groupid>io.spring.platform</group Id> <artifactId>platform-bom</artifactId> <version>1.1.3.release</version> ; <type>pom</type> <scope>Import</scope> </dependency> </dependencies></dependencyManagement>
Reference articles
- Introduction to spring IO platform
Resolving jar Package Dependencies: Spring IO platform Launch BOM