簡體   English   中英

spring initializr:spring-boot-starter vs spring-boot-starter-web

[英]spring initializr: spring-boot-starter vs spring-boot-starter-web

我正在嘗試在IntellIJ中開發一個基於示例Spring Boot的應用程序。 因此,我使用spring Initialzr方法,並在設置過程中進行了默認選擇。 我最終得到的pom.xml具有以下依賴關系:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
</dependency>

但是我關注的教程如下:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

那么,有什么區別呢? 我可以兩者都吃嗎?

spring-boot-starter-web包含以下依賴項:

  • 彈簧引導啟動
  • 傑克遜
  • 彈簧核心
  • 春天MVC
  • 彈簧引導起動的tomcat

使用IntelliJ,您可以在項目結構的底部查看工件的依賴性。

假設spring-boot-starter是spring-boot-starter-web的依賴項,那么兩者都沒有用。 如果兩者都保留,則不會有任何危害,只是不必要。

spring-boot-starter為您的應用程序提供了基本的開發和運行時基礎結構,以及核心的spring功能。 如果要在項目中使用諸如spring-mvc之類的Web功能,則需要使用spring-boot-starter-web。 但是,如果您使用spring-boot-starter-web,則無需明確提及spring-boot-starter。

spring-boot-starter本身就是spring-boot-starter-web的依賴項。 如果僅在應用程序中包含spring-boot-starter依賴項,則將僅獲得運行時基礎結構以及一些核心功能。 因此,對於Web應用程序,您需要包括spring-boot-starter-web,以便可以獲取spring-mvc,jackson和spring-boot-starter。 無需同時使用兩者。 如果您將使用spring-boot-starter-web,那么對於您的應用程序就足夠了。 但是,同時使用這兩種方法不會出錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM