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

SpringBoot Starter Web

У SpringBoot Starter Web есть две важные функции:

Совместимость с разработкой Web Автоматическая конфигурация

Если вы хотите разработать веб-приложение, то вам нужно добавить следующие зависимости в файл pom.xml:

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

Запуск программы Spring web использует Spring MVC, REST и Tomcat в качестве-default嵌入式服务器. Одна зависимость spring-boot-starter-web позволяет transitively получить все зависимости, связанные с разработкой Web. Она также уменьшает количество зависимостей, входящих в состав.

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

по умолчанию spring-boot-starter-web включает следующие зависимости сервера 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 автоматически конфигурирует следующие элементы, необходимые для веб-разработки:

сервлет планировщика страницы ошибок используется для управления статическими зависимостями веб JAR встроенный servlet контейнер

встроенный веб-сервер Spring Boot

каждое приложение Spring Boot включает встроенный сервер. Встроенный сервер интегрируется как часть deployable приложения. Преимуществом встроенного сервера является то, что нам не нужно предварительно устанавливать сервер в среде. Используя Spring Boot, по умолчанию встроенный сервер составляет Tomcat 。 Spring Boot также поддерживает два других встроенных сервера:

сервер Jetty сервер Undertow

используя другие встроенные веб-серверы

для servlet-стекаприложения, spring-boot-starter-web через включение spring-boot-starter-tomcat чтобы включить Tomcat но мы можем использовать spring-boot-starter-jetty или spring-boot-starter-undertow

для reaktorприложения, spring-boot-starter-webflux включая включая spring-boot-starter-reactor-netty чтобы реализовать Reactor Netty но мы можем использовать spring-boot-starter-tomcat, spring-boot-starter-jetty,

сервер Jetty

Spring Boot также поддерживает сервер под названием сервер Jetty. Это HTTP сервер и контейнер Servlet, который предоставляет функции предоставления статического и динамического контента.

если вы хотите добавить сервер Jetty в приложение, вам нужно добавить spring-boot-starter-jetty зависимости.

помните: . Убедитесь, что вы используете сервер Jetty в приложении, добавляя исключает defaultManager Tomcat сервер. spring-boot-starter-web . Это избегает конфликта между серверами.

<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>

мы также можем использовать application.properties файл используется для настройки поведения сервера Jetty.

Undertow Server

Spring Boot предоставляет еще один сервер под названием Undertow сервер. Это также嵌入式 веб-сервер, такой как Jetty. Он написан на Java и управляется и спонсируется JBoss. Основные优点 сервера Undertow:

поддержка HTTP/2 поддержка HTTP upgrade поддержка Websocket предоставляет поддержку Servlet 4.0 гибкий встраиваемый

помните: : Убедитесь, что вы используете сервер Undertow в приложении, извлекая из в spring-boot-starterисключает defaultManager Tomcat сервер. -web.избегает конфликта между серверами.

<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>

мы также можем использовать application.properties файл используется для настройки поведения сервера Undertow.

spring-boot-starter-web против spring-boot-starter-tomcat

spring-boot-starter-web включает зависимости spring web, в том числе spring-boot-starter-tomcat. spring-boot-starter-web включает следующее:

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

spring-boot-starter-tomcat включает все содержимое, связанное с сервером Tomcat.

core el logging websocket

starter-tomcat имеет следующие зависимости:

<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>

Мы также можем использовать spring-mvc А не использовать встроенный сервер Tomcat. Если это необходимо, нам нужно использовать  Отметьте исключение Tomcat сервера, как показано в следующем коде.

<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>