您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Spring解決jar包依賴bom的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
名詞解釋:
BOM(bill of materials):材料清單,用于解決jar包依賴的好方法。
Spring IO Platform
緣起:Spring起初只專注ioc和aop,現在已發展成一個龐大體系。比如security、mvc等。如此一來,不同模塊或者與外部進行集成時,依賴處理就需要各自對應版本號。比如,較新spring與較老的quartz,它們集成就會遇到問題,給搭建和升級帶來不便。因此Spring IO Platform應運而生,只要項目中引入了它,外部集成時依賴關系無需版本號。官網的原文如下:“when you do declare a dependency on something that's part of the Platform, you will now be able to omit the version number.”
舉例如下:
<code class="hljs xml has-numbering" ><span class="hljs-tag" ><<span class="hljs-title" >dependencies</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >groupId</span>></span>org.springframework<span class="hljs-tag" ></<span class="hljs-title" >groupId</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependencies</span>></span></code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li><li >5</li></ul>
Spring IO Platform只是一個pom文件,記錄了spring與其他開源項目對應的版本。省去了版本號,也就省去了處理依賴時的問題,因為Spring IO Platform中有最優的版本配置。
Spring相關的BOM
當然SpringSource為了解決這些Jar沖突,推出了各種BOM,當然最著名的就是spring platform io bom,其中最核心的三個是:spring-framework-bom、spring-boot-dependencies、platform-bom。
對于Spring工程來說,直接在pom.xml文件中添加如下配置代碼,即可免去管理版本沖突的難題。
<code class="hljs xml has-numbering" ><span class="hljs-tag" ><<span class="hljs-title" >dependencyManagement</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >dependencies</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >groupId</span>></span>org.springframework<span class="hljs-tag" ></<span class="hljs-title" >groupId</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >artifactId</span>></span>spring-framework-bom<span class="hljs-tag" ></<span class="hljs-title" >artifactId</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >version</span>></span>4.2.0.RELEASE<span class="hljs-tag" ></<span class="hljs-title" >version</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >type</span>></span>pom<span class="hljs-tag" ></<span class="hljs-title" >type</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >scope</span>></span>import<span class="hljs-tag" ></<span class="hljs-title" >scope</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >groupId</span>></span>org.springframework.boot<span class="hljs-tag" ></<span class="hljs-title" >groupId</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >artifactId</span>></span>spring-boot-dependencies<span class="hljs-tag" ></<span class="hljs-title" >artifactId</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >version</span>></span>1.3.0.M2<span class="hljs-tag" ></<span class="hljs-title" >version</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >type</span>></span>pom<span class="hljs-tag" ></<span class="hljs-title" >type</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >scope</span>></span>import<span class="hljs-tag" ></<span class="hljs-title" >scope</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >groupId</span>></span>io.spring.platform<span class="hljs-tag" ></<span class="hljs-title" >groupId</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >artifactId</span>></span>platform-bom<span class="hljs-tag" ></<span class="hljs-title" >artifactId</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >version</span>></span>1.1.3.RELEASE<span class="hljs-tag" ></<span class="hljs-title" >version</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >type</span>></span>pom<span class="hljs-tag" ></<span class="hljs-title" >type</span>></span> <span class="hljs-tag" ><<span class="hljs-title" >scope</span>></span>import<span class="hljs-tag" ></<span class="hljs-title" >scope</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependency</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependencies</span>></span> <span class="hljs-tag" ></<span class="hljs-title" >dependencyManagement</span>></span></code><ul class="pre-numbering" ><li >1</li><li >2</li><li >3</li><li >4</li><li >5</li><li >6</li><li >7</li><li >8</li><li >9</li><li >10</li><li >11</li><li >12</li><li >13</li><li >14</li><li >15</li><li >16</li><li >17</li><li >18</li><li >19</li><li >20</li><li >21</li><li >22</li><li >23</li><li >24</li><li >25</li></ul>
關于“Spring解決jar包依賴bom的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。