切换语言为:繁体

Spring Boot Starter Web 与 Spring Boot Starter Tomcat 的区别

  • 爱糖宝
  • 2024-07-22
  • 2170
  • 0
  • 0

Spring Boot 建立在 Spring 的基础之上,包含 Spring 的所有功能。如今,Spring Boot 已成为开发人员的最爱,因为其快速的环境配置特性可让开发人员直接专注于逻辑,而不是纠结于配置和设置。Spring Boot 是一个基于微服务的框架,用它开发一个为服务项目只需很短的时间。 以下是 Spring Boot 的一些特性:

  • 可以避免使用 Spring 中的 XML 进行繁琐的配置 

  • 可以轻松维护和创建 REST 端点 

  • 包含嵌入式 Tomcat 服务器 部署非常简单,

  • war 和 jar 文件可以轻松部署到 Tomcat 服务器中 

Spring Boot Starter Web 

主要用于构建 Web 应用程序,其中包括使用 Spring MVC 的 RESTful 应用程序。它使用 Tomcat 作为默认的嵌入式容器。 

它有两个重要特性:

  • 与 WEB 开发兼容

  • 可自动配置

我们需要在 Spring Boot Starter Web 的 pom.xml 文件中添加以下依赖关系:

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

它使用 Spring MVC、REST 和 Tomcat 作为默认的嵌入式服务器。 只需要配置 spring-boot-starter-web 依赖项便可以实现引入开发所需要的相关依赖项。它还能减少构建依赖的数量。spring-boot-starter-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 会自动配置网络开发所需的以下内容:

  • Dispatcher Servlet

  • 错误页面 

  • 嵌入式 Servlet 容器 

  • 用于管理静态依赖关系的 Web JAR

Spring Boot 还支持 Jetty Server 和 Undertow Server。 它们都是嵌入式网络服务器。 我们还可以按如下方法将 spring-boot-starter-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>

Spring Boot Starter Tomcat

Spring-boot-starter-tomcat 包含与 Tomcat 服务器相关的所有内容,它有

  • core

  • el

  • logging

  • WebSocket

它有以下依赖项:

<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 Boot Starter Web 与 Spring Boot Starter Tomcat 的区别

Spring Boot Starter Web

Spring Boot Starter Tomcat

Spring Boot Starter Web 用于使用 Spring MVC 构建 RESTful 应用程序。 Spring Boot Starter Tomcat 是 Spring Boot Starter Web 的默认嵌入式容器。 
在使用网络服务时我们不能将其排除。 当我们想使用另一个嵌入式容器时,我们可以将其排除。
同时还支持 Jetty Server 和 Undertow Server。 只充当一个嵌入式网络服务器。
它可自动配置 Dispatcher Servlet、Error Page、Embedded servlet container 和 Web JAR,以管理网络开发的静态依赖关系。 它包含core、el、logging、WebSocket。
它包含 spring web 依赖项。 它包含与嵌入式 tomcat 服务器相关的所有内容。
它自动配置用于 Web 开发的功能。 它被用作默认的嵌入容器。

0条评论

您的电子邮件等信息不会被公开,以下所有项均必填

OK! You can skip this field.