[英]Better way of using spring boot starters
我找到了兩種為 spring boot rest 服務應用程序添加依賴項的方法。
方法一:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
方法二:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
上面給出的兩種方法都做同樣的工作? 性能上有什么區別嗎?
提前致謝
這些方法之間的區別在於spring-boot-starter-web
包含更多的依賴項,而不僅僅是spring-boot-starter
和spring-web
。
對於 1.5.8.RELEASE 版本,它將是:
所有其他的東西取決於你的要求。 例如,如果您正在開發商業產品,您必須檢查其許可證的所有包含的傳遞依賴項。
一般建議是僅使用您需要的功能。 不要忘記,您仍然可以依賴頂級工件,不包括使用 Maven 功能的不需要的部分。
在性能提升方面,基本上應該不會那么多。 區別僅在於 Spring(具有頂級工件依賴項)將加載並自動配置一些在您的代碼中實際上未使用的功能(在類路徑掃描期間)。 出於同樣的原因,啟動時間可能會略有增加。
希望能幫助到你!
顯然第二種方法更好,即使用 springboot starter pom。
我這么說的原因如下:-
它允許zero configuration
或auto configuration
即默認情況下將向您提供大多數與 Web 相關的設置。 例如默認情況下將集成 tomcat 服務器,將為您添加 springboot 依賴項,自動注冊轉換器和其他與 Web 相關的依賴項等。請參閱此鏈接。
您可以利用簡單的覆蓋,即如果明天您想使用 jetty 代替 tomcat,只需添加 jetty 依賴項及其配置,現在您可以使用 jetty。
你的pom.xml
會更整潔,更易讀,因為更少。 依賴項被放入其中並從 starter poms 中挑選。
輕松的兼容性管理。 默認情況下,spring-boot 選擇starter parent
的版本。 因此,您可以放心,所有兼容的依賴項都將作為 mvn 依賴項的一部分下載,如果您特別想升級其中任何一個,則可以。 但這可以通過更改 springboot starter parent 的版本來升級到兼容的依賴項(注意:您也可以使用依賴項管理來代替 starter parent pom。請參閱此鏈接)。
在性能方面會有一個折衷,因為 springboot 默認下載比最初所需的最小值更多的依賴項。 但是隨着應用程序開始變得成熟,大多數這些依賴項無論如何都會被使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.