English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot Starter Web

spring-boot-starter-A web tem duas funções importantes:

Compatível com desenvolvimento web Configuração automática

Se você deseja desenvolver uma aplicação web, você precisará adicionar os seguintes itens de dependência no arquivo pom.xml:

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

O iniciador da web do Spring usa Spring MVC, REST e Tomcat como servidores embutidos padrão. Um único spring-boot-starter-As dependências web podem ser obtidas de maneira transitiva todas as dependências relacionadas ao desenvolvimento web. Ele também reduz o número de contagens de dependências de construção. spring-boot-starter-A web pode ser transmitida dependendo do seguinte conteúdo:

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

Por padrão, spring-boot-starter-web inclui as seguintes dependências do servidor Tomcat:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.0.0.RELEASE</version>
<scope>compile</scope>
</dependency>

spring-boot-starter-web configura automaticamente os seguintes itens necessários para desenvolvimento web:

servlet de agendador páginas de erro Web JAR usado para gerenciar dependências estáticas container servlet embutido

servidor web embutido Spring Boot

Cada aplicativo Spring Boot inclui um servidor embutido. O servidor embutido é integrado como parte do aplicativo deployável. As vantagens do servidor embutido são que não precisamos pré-instalar o servidor no ambiente. Usando Spring Boot, o servidor embutido padrão é Tomcat . Spring Boot também suporta outros dois servidores embutidos:

servidor Jetty servidor Undertow

usando outros servidores web embutidos

para pilha servletaplicativos, spring-boot-starter-web ao incluir spring-boot-starter-tomcat para incluir Tomcat mas podemos usar spring-boot-starter-jetty ou spring -boot-starter-undertow .

para reactoraplicativos, spring-boot-starter-webflux incluindo incluindo spring-boot-starter-reactor-netty para implementar Reactor Netty mas podemos usar spring-boot-starter-tomcat, spring-boot-starter-jetty

servidor Jetty

Spring Boot também suporta chamado servidor Jetty. É um servidor HTTP e container Servlet, com funções para fornecer conteúdo estático e dinâmico.

Se você deseja adicionar um servidor Jetty ao aplicativo, você precisa adicionar spring-boot-starter-jetty dependências.

Lembre-se: . Certifique-se de usar o servidor Jetty no aplicativo excluindo o servidor Tomcat padrão spring-boot-starter-web . Ele evita conflitos entre servidores.

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

Também podemos usar application.properties O arquivo configura o comportamento do servidor Jetty personalizado.

Undertow Server

Spring Boot oferece outro chamado Undertow servidor. Também é um servidor web embutido como o Jetty. Escrito em Java, gerenciado e patrocinado pelo JBoss. As principais vantagens do servidor Undertow são:

suporte HTTP/2 suporte para HTTP upgrade suporte WebSocket fornece suporte para Servlet 4.0 suporte flexível embutível

Lembre-se: : Certifique-se de usar o Undertow servidor no aplicativo a partir de spring-boot-no starterexcluindo o servidor Tomcat padrão -web.evitando conflitos entre servidores.

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

Também podemos usar application.properties O arquivo configura o comportamento do servidor Undertow personalizado.

spring-boot-starter-web vs. spring-boot-starter-tomcat

spring-boot-starter-web inclui dependências do Spring Web, incluindo o Spring-boot-starter-tomcat。 spring-boot-starter-web contém o seguinte conteúdo:

spring-boot-starter jackson spring-core spring-mvc spring-boot-starter-tomcat

spring-boot-starter-tomcat Contém tudo relacionado ao servidor Tomcat.

core el logging websocket

starter-O Tomcat tem as seguintes dependências:

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.23</version>
 <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>8.5.23</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>8.5.23</version>
<scope>compile</scope>
</dependency>

Também podemos usar spring-mvc ao invés de usar o servidor Tomcat embutido. Se fizer isso, precisamos usar  Marcar a exclusão do servidor Tomcat, conforme o código a seguir.

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