logo

Spring Boot Starter-Web

Es gibt zwei wichtige Funktionen von Spring-Boot-Starter-Web:

  • Es ist für die Webentwicklung kompatibel
  • Automatische Konfiguration

Wenn wir eine Webanwendung entwickeln möchten, müssen wir die folgende Abhängigkeit in der Datei pom.xml hinzufügen:

 org.springframework.boot spring-boot-starter-web 2.2.2.RELEASE 

Starter of Spring Web verwendet Spring MVC, REST und Tomcat als standardmäßigen eingebetteten Server. Die einzelne Spring-Boot-Starter-Web-Abhängigkeit zieht transitiv alle Abhängigkeiten im Zusammenhang mit der Webentwicklung ein. Dadurch wird auch die Anzahl der Build-Abhängigkeiten reduziert. Das Spring-Boot-Starter-Web hängt transitiv von Folgendem ab:

  • org.springframework.boot:spring-boot-starter
  • org.springframework.boot:spring-boot-starter-tomcat
  • org.springframework.boot:spring-boot-starter-validation
  • com.fasterxml.jackson.core:jackson-databind
  • org.springframework:spring-web
  • org.springframework:spring-webmvc

Standardmäßig enthält spring-boot-starter-web die folgende Tomcat-Serverabhängigkeit:

 org.springframework.boot spring-boot-starter-tomcat 2.0.0.RELEASE compile 

Das Spring-Boot-Starter-Web konfiguriert automatisch die folgenden Dinge, die für die Webentwicklung erforderlich sind:

ist Eiweißfett
  • Dispatcher-Servlet
  • Fehlerseite
  • Web-JARs zur Verwaltung der statischen Abhängigkeiten
  • Eingebetteter Servlet-Container

Eingebetteter Spring Boot-Webserver

Jede Spring Boot-Anwendung enthält einen eingebetteten Server. Der eingebettete Server ist als Teil einer bereitstellbaren Anwendung eingebettet. Der Vorteil des eingebetteten Servers besteht darin, dass wir keinen vorinstallierten Server in der Umgebung benötigen. Bei Spring Boot ist der Standard-Embedded-Server Kater . Spring Boot unterstützt außerdem zwei weitere eingebettete Server:

    Jetty-Server Undertow-Server

Verwendung eines anderen eingebetteten Webservers

Für Servlet-Stack Anwendungen, die Spring-Boot-Starter-Web beinhaltet Kater Durch Einbeziehung Spring-Boot-Starter-Tomcat , aber wir können verwenden Spring-Boot-Starter-Steg oder Spring-Boot-Starter-Sog stattdessen.

Für reaktiver Stapel Anwendungen, die Spring-Boot-Starter-Webflux beinhaltet Reaktor Netty Durch Einbeziehung Spring-Boot-Starter-Reaktor-Netty , aber wir können verwenden Spring-Boot-Starter-Tomcat, Spring-Boot-Starter-Steg, oder Spring-Boot-Starter-Sog stattdessen.

Jetty-Server

Der Spring Boot unterstützt auch einen eingebetteten Server namens Jetty-Server . Es handelt sich um einen HTTP-Server und Servlet-Container, der statische und dynamische Inhalte bereitstellen kann. Es wird verwendet, wenn eine Maschine-zu-Maschine-Kommunikation erforderlich ist.

Wenn wir den Jetty-Server zur Anwendung hinzufügen möchten, müssen wir den hinzufügen Spring-Boot-Starter-Steg Abhängigkeit in unserer Datei pom.xml.

Erinnern: Stellen Sie bei der Verwendung des Jetty-Servers in der Anwendung sicher, dass der Standard-Tomcat-Server vorhanden ist ausgeschlossen von dem Spring-Boot-Starter-Web. Es vermeidet Konflikte zwischen Servern.

bash if-Anweisung
 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-jetty 

Wir können das Verhalten des Jetty-Servers auch mithilfe von anpassen application.properties Datei.

Undertow-Server

Spring Boot bietet einen weiteren Server namens Sog . Es ist auch ein eingebetteter Webserver wie Jetty. Es ist in Java geschrieben und wird von JBoss verwaltet und gesponsert. Die Hauptvorteile des Undertow-Servers sind:

  • Unterstützt HTTP/2
  • HTTP-Upgrade-Unterstützung
  • Websocket-Unterstützung
  • Bietet Unterstützung für Servlet 4.0
  • Flexibel
  • Einbettbar

Erinnern: Stellen Sie bei der Verwendung des Undertow-Servers in der Anwendung sicher, dass der Standard-Tomcat-Server vorhanden ist ausgeschlossen von dem Spring-Boot-Starter-Web. Es vermeidet Konflikte zwischen Servern.

 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-undertow 

Wir können das Verhalten des Undertow-Servers auch mithilfe von anpassen application.properties Datei.

String-Format in Java

Spring-Boot-Starter-Web vs. Spring-Boot-Starter-Tomcat

Das Spring-Boot-Starter-Web enthält die Spring-Web-Abhängigkeiten, zu denen auch Spring-Boot-Starter-Tomcat gehört. Das Spring-Boot-Starter-Web enthält Folgendes:

  • Federstarter
  • Jackson
  • Federkern
  • Frühling-MVC
  • Spring-Boot-Starter-Tomcat

Während Spring-Boot-Starter-Tomcat enthält alles rund um den Tomcat-Server.

  • Kern
  • Er
  • Protokollierung
  • WebSocket

Der Starter-Tomcat hat die folgenden Abhängigkeiten:

 org.apache.tomcat.embed tomcat-embed-core 8.5.23 compile org.apache.tomcat.embed tomcat-embed-el 8.5.23 compile org.apache.tomcat.embed tomcat-embed-websocket 8.5.23 compile 

Wir können auch verwenden Frühling-MVC ohne den eingebetteten Tomcat-Server zu verwenden. Wenn wir dies tun möchten, müssen wir den Tomcat-Server mithilfe von ausschließen Tag, wie im folgenden Code gezeigt.

 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat 

Projekt herunterladen Projekt herunterladen