Spring IO Platform項目做爲Spring的主要項目之一,其目的就是用來解決依賴包的版本問題。Spring IO Platform官方的定義是:html
Spring IO is a cohesive, versioned platform for building modern applications. It is a modular, enterprise-grade distribution that delivers a curated set of dependencies while keeping developers in full control of deploying only the parts they need. Spring IO is 100% open source, lean, and modular.
Spring IO 是一個用於構建現代應用程序的、有凝聚力的版本化平臺。它是一個模塊化的、企業級的分佈,提供了一組策略依賴關係。同時,開發人員只需部署他們所須要的部分。Spring IO是100%開源、精益和模塊化的項目。spring
在構建項目時,常常會使用到第三方庫,通常你們都是根據經驗或直接選擇較新的版本,隨意性較大。隨着業務複雜度的增長,集成的第三方庫會愈來愈多,依賴關係也會愈來愈複雜。除非作過完整的測試,保證集成第三方庫的版本不會出問題,且後續集成或升級都不會出問題,不然就有可能存在較大的隱性風險(版本衝突)。服務器
Spring IO Platform就能很好地幫助咱們解決這些問題。開發人員在添加第三方庫時,不須要關心版本號,Spring IO Platform會幫助咱們提供一個最優的版本,並且該版本是通過嚴格測試的,能夠更好地兼容其它的組件。同時,你也能夠根據本身的須要來升級或降級依賴版本。app
Spring IO Platform的主要特徵:maven
若是你準備使用Spring IO Platform,建議到官網獲取最新的項目版本:https://platform.spring.io/pl...。模塊化
本文編寫時的最新版本:Brussels-SR6
在Maven項目中添加以下依賴管理:spring-boot
<dependencyManagement> <dependencies> <dependency> <groupId>io.spring.platform</groupId> <artifactId>platform-bom</artifactId> <version>Brussels-SR6</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
在Gradle項目中添加以下依賴管理:工具
buildscript { repositories { jcenter() } dependencies { classpath 'io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE' } } apply plugin: 'io.spring.dependency-management' dependencyManagement { imports { mavenBom 'io.spring.platform:platform-bom:Brussels-SR6' } }
在集成Spring IO Platform提供的依賴管理後,你仍然能夠像平時同樣添加第三方庫,只是無需再關心依賴包的版本:學習
查看全部依賴包的版本信息: https://docs.spring.io/platfo...
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency>
dependencies { compile 'org.springframework:spring-core' }
Spring IO Platform項目集成的第三方庫的版本信息都是使用<properties />
來定義的,這就使得你能夠很容易的升級或降級某個依賴包的版本。在你的項目中指定依賴包的版本號:測試
<properties> <foo.version>1.2.0.RELEASE</foo.version> </properties>
在使用Spring IO Platform項目的依賴管理時,應根據項目的實際運行環境來合理選擇版本號,除非必須,不然不建議修改版本信息。在修改依賴包的版本信息時,可經過IDE點擊座標來查看依賴包對應的屬性名。
Spring IO Platform項目的本質就是一個pom文件,它記錄了Spring項目和其它第三方庫對應的版本信息。因爲Spring IO Platform項目幫助咱們作了大量的集成和測試工做,使得咱們能夠輕鬆使用。
現在,使用Spring Boot的項目也愈來愈多,它的spring-boot-dependencies
模塊就是一個相似Spring IO Platform的項目,二者的區別就是集成的依賴包和插件有所不一樣。
在企業級項目開發和管理中,Spring IO Platform項目絕對是值得你花時間去學習和研究的。你能夠在Spring IO Platform項目的基礎上進行改進,增長一些國產開源項目的集成和企業私有庫的管理,構建企業內部的項目版本平臺,促進企業項目的統一管理。