logo

Web di avvio di Spring Boot

Ci sono due caratteristiche importanti di spring-boot-starter-web:

  • È compatibile per lo sviluppo web
  • Configurazione automatica

Se vogliamo sviluppare un'applicazione web, dobbiamo aggiungere la seguente dipendenza nel file pom.xml:

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

Starter of Spring Web utilizza Spring MVC, REST e Tomcat come server incorporato predefinito. La singola dipendenza spring-boot-starter-web inserisce transitivamente tutte le dipendenze relative allo sviluppo web. Riduce inoltre il conteggio delle dipendenze di compilazione. Spring-boot-starter-web dipende transitivamente da quanto segue:

  • 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

Per impostazione predefinita, spring-boot-starter-web contiene la seguente dipendenza del server Tomcat:

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

Spring-boot-starter-web configura automaticamente le seguenti cose necessarie per lo sviluppo web:

riga contro colonna
  • Servlet del dispatcher
  • Pagina di errore
  • JAR Web per la gestione delle dipendenze statiche
  • Contenitore servlet incorporato

Server Web incorporato Spring Boot

Ogni applicazione Spring Boot include un server incorporato. Il server incorporato è incorporato come parte dell'applicazione distribuibile. Il vantaggio del server incorporato è che non è necessario un server preinstallato nell'ambiente. Con Spring Boot, il server incorporato predefinito è Tomcat . Spring Boot supporta anche altri due server incorporati:

    Server del molo Server della risacca

Utilizzando un altro server Web incorporato

Per pila di servlet applicazioni, il spring-boot-starter-web include Tomcat includendo spring-boot-starter-tomcat , ma possiamo usare pontile di avvio primaverile O spring-boot-starter-risacca Invece.

Per pila reattiva applicazioni, il spring-boot-starter-webflux include Reattore Netty includendo spring-boot-starter-reattore-netty , ma possiamo usare spring-boot-starter-tomcat, spring-boot-starter-molo, O spring-boot-starter-risacca Invece.

al metodo string in Java

Server del molo

Spring Boot supporta anche un server incorporato chiamato Server del molo . È un server HTTP e un contenitore Servlet che ha la capacità di servire contenuti statici e dinamici. Viene utilizzato quando è richiesta la comunicazione da macchina a macchina.

Se vogliamo aggiungere il server Jetty nell'applicazione, dobbiamo aggiungere il file pontile di avvio primaverile dipendenza nel nostro file pom.xml.

Ricordare: Quando utilizzi il server Jetty nell'applicazione, assicurati che il server Tomcat predefinito sia escluso dal spring-boot-starter-web. Evita il conflitto tra i server.

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

Possiamo anche personalizzare il comportamento del server Jetty utilizzando il file proprietà.applicazione file.

Server della risacca

Spring Boot fornisce un altro server chiamato Risacca . È anche un server Web incorporato come Jetty. È scritto in Java ed è gestito e sponsorizzato da JBoss. I principali vantaggi del server Undertow sono:

  • Supporta HTTP/2
  • Supporto per l'aggiornamento HTTP
  • Supporto WebSocket
  • Fornisce il supporto per Servlet 4.0
  • Flessibile
  • Incorporabile

Ricordare: Durante l'utilizzo del server Undertow nell'applicazione, assicurarsi che il server Tomcat predefinito sia escluso dal spring-boot-starter-web. Evita il conflitto tra i server.

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

Possiamo anche personalizzare il comportamento del server Undertow utilizzando il file proprietà.applicazione file.

gimp eliminando lo sfondo

spring-boot-starter-web rispetto a spring-boot-starter-tomcat

Spring-boot-starter-web contiene le dipendenze Web spring che includono spring-boot-starter-tomcat. Il web spring-boot-starter contiene quanto segue:

  • avvio-avvio-primaverile
  • Jackson
  • nucleo a molla
  • primavera-mvc
  • spring-boot-starter-tomcat

Mentre il spring-boot-starter-tomcat contiene tutto ciò che riguarda il server Tomcat.

  • nucleo
  • Lui
  • registrazione
  • websocket

Lo starter-tomcat ha le seguenti dipendenze:

 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 

Possiamo anche usare primavera-mvc senza utilizzare il server Tomcat incorporato. Se vogliamo farlo, dobbiamo escludere il server Tomcat utilizzando il file tag, come mostrato nel codice seguente.

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

Scarica progetto Scarica progetto