小編給大家分享一下Spring IO Platform的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),先為魏都等服務(wù)建站,魏都等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為魏都企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
Spring IO Platform框架簡(jiǎn)單來(lái)說(shuō)就是一個(gè)版本號(hào)兼容系統(tǒng),它將常用第三方類(lèi)庫(kù)的兼容的版本組織起來(lái)。只要我們?cè)陧?xiàng)目中引用了Spring IO Platform,就不需要為這些第三方類(lèi)庫(kù)設(shè)置版本號(hào)了,Spring IO Platform會(huì)自動(dòng)幫我們?cè)O(shè)置所有兼容的版本號(hào)。
引入類(lèi)庫(kù)
使用Maven
使用Maven的話,在pom.xml中修改為類(lèi)似這樣的。
4.0.0 com.example your-application 1.0.0-SNAPSHOT io.spring.platform platform-bom Brussels-SR3 pom import
或者將設(shè)置Spring IO Platform為父項(xiàng)目也行
4.0.0 com.example your-application 1.0.0-SNAPSHOT io.spring.platform platform-bom Brussels-SR3
設(shè)置完成后,以后添加依賴項(xiàng)就不需要指定版本好了??梢韵裣旅孢@樣添加依賴。
org.springframework spring-core
使用Gradle
如果用Gradle的話,就稍微復(fù)雜一點(diǎn)了。因?yàn)镚radle沒(méi)有dependencyManagement這么一個(gè)功能,所以還需要額外的插件??傊?,將build.gradle文件修改為類(lèi)似這樣即可。
buildscript { repositories { jcenter() } dependencies { classpath 'io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE' } } apply plugin: 'io.spring.dependency-management' repositories { mavenCentral() } dependencyManagement { imports { mavenBom 'io.spring.platform:platform-bom:Brussels-SR3' } }
然后,聲明依賴就不需要版本號(hào)了。
dependencies { compile 'org.springframework:spring-core' }
覆蓋版本號(hào)
有時(shí)候可能需要覆蓋Spring IO Platform中的版本號(hào),改為使用我們自己指定的版本號(hào)。如果使用Maven的話,在pom.xml文件的properties節(jié)點(diǎn)中修改版本號(hào)。
1.1.0.RELEASE
如果使用Gradle的話,在build.gradle中添加ext屬性即可。
ext['foo.version'] = '1.1.0.RELEASE'
或者
ext { foo.version = '1.1.0.RELEASE' }
也可以在gradle.properties文件中設(shè)置。
foo.version=1.1.0.RELEASE
已知問(wèn)題
由于谷歌Guava類(lèi)庫(kù)的廣泛使用,引用不同的項(xiàng)目時(shí)可能存在不兼容情況。這時(shí)候需要我們手動(dòng)指定合適的版本號(hào)以保證項(xiàng)目能夠正常運(yùn)行。
如果想詳細(xì)了解Spring IO Platform的版本號(hào),可以查看官方文檔附錄。
示例程序
其實(shí)這篇文章到這里就可以結(jié)束了,因?yàn)镾pring IO Platform實(shí)際上確實(shí)也沒(méi)有多少東西要講。
這是我的一個(gè)小小例子,用Spring IO Platform和Gradle構(gòu)建的一個(gè)Spring MVC程序。下面是對(duì)應(yīng)的build.gradle文件??梢钥吹接捎谑褂昧薙pring IO Platform,所以這里的依賴項(xiàng)全部沒(méi)有指定版本號(hào)。
group 'yitian.study' version '1.0-SNAPSHOT' buildscript { repositories { jcenter() } dependencies { classpath 'io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE' } } apply plugin: 'java' apply plugin: 'war' apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin' apply plugin: 'io.spring.dependency-management' sourceCompatibility = 1.8 repositories { mavenCentral() jcenter() } dependencies { testCompile group: 'junit', name: 'junit' compile 'org.springframework:spring-webmvc' compile group: 'org.springframework.boot', name: 'spring-boot-starter-logging' } dependencyManagement { imports { mavenBom 'io.spring.platform:platform-bom:Brussels-SR3' } }
從IDE的提示可以看到,所有版本號(hào)都由Spring IO Platform正確處理了。
以上是“Spring IO Platform的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!