spring-boot-starter-tomcat vs spring-boot-starter-web
Ich versuche zu lernen, Spring boot und ich merke, es gibt zwei Optionen.
-
spring-boot-starter-web - die laut der docs gibt Unterstützung für full-stack-web-Entwicklung, einschließlich Tomcat und web-mvc -
-
spring-boot-starter-tomcat
Seit #1 unterstützt die Tomcat-warum würde man wollen, verwenden Sie #2?
Was sind die Unterschiede?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
spring-boot-starter-web
enthältspring-boot-starter-tomcat
.spring-boot-starter-tomcat
könnte potenziell verwendet werden, auf Ihre eigenen, wenn spring mvc ist nicht erforderlich (enthalten inspring-boot-starter-web
).Hier ist der dependency-Hierarchie von
spring-boot-starter-web
:spring-boot-starter-web
enthält spring web Abhängigkeiten (einschließlichspring-boot-starter-tomcat
):spring-boot-starter
jackson
spring-core
spring-mvc
spring-boot-starter-tomcat
spring-boot-starter-tomcat
enthält alles, was im Zusammenhang mit einer embdedded tomcat-server:core
el
logging
websocket
Was ist, wenn Sie verwenden möchten, spring mvc, ohne die eingebettete tomcat-server?
Einfach ausschließen aus der Abhängigkeit:
Sowie eine einfache Antwort ist, dass nicht alle web-Anwendungen sind SpringMVC-Anwendungen. Zum Beispiel, wenn Sie verwenden möchten, JaxRS, anstatt vielleicht haben Sie client-Anwendungen, die verwenden RestTemplate und Sie mag, wie Sie interagieren, bedeutet es nicht, dass Sie nicht verwenden können, spring boot oder embedded tomcat
Hier ist eine Beispiel-Anwendung, die verwendet
spring-boot-starter-tomcat
aber nichtspring-boot-starter-web
Einfache Jersey-Anwendung in den Frühling starten mit
spring-boot-starter-tomcat
Es ist auch wichtig, daran zu erinnern, dass tomcat nicht die einzige option für eine eingebettete servlet-container, der im Frühjahr starten. Es ist auch einfach, um loszulegen mit Steg. Und mit
spring-boot-starter-tomcat
macht es einfach, schließen Sie alle als ein Modul während, wenn Sie wurden alle nur ein Teil von spring-web-es wäre mehr Arbeit ausschließen der tomcat Bibliotheken zu bringen, inspring-boot-starter-jersey
stattKopierte ich diesen code aus einer anderen Frage ALSO hier.