📜  Spring Boot Starter Web 和 Spring Boot Starter Tomcat 之间的区别

📅  最后修改于: 2022-05-13 01:54:43.335000             🧑  作者: Mango

Spring Boot Starter Web 和 Spring Boot Starter Tomcat 之间的区别

Spring Boot 建立在 Spring 之上,包含了 Spring 的所有特性。并且由于其快速的生产就绪环境使开发人员能够直接专注于逻辑而不是为配置和设置而苦苦挣扎,如今它正成为开发人员的最爱。 Spring Boot 是一个基于微服务的框架,在其中制作可用于生产的应用程序只需要很少的时间。以下是 Spring Boot 的一些特性:

  • 它允许避免在 spring 中存在的 XML 的繁重配置
  • 它提供易于维护和创建 REST 端点
  • 它包括嵌入式 Tomcat 服务器
  • 部署非常简单,war和jar文件可以轻松部署在tomcat服务器中

Spring Boot Starter Web

它主要用于构建包含使用 Spring MVC 的 RESTful 应用程序的 Web 应用程序。它使用 Tomcat 作为默认的嵌入式容器。它有两个重要的特点:

  • 它与Web开发兼容。
  • 它可以自动配置。

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

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


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


XML

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


XML
  
  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  


它使用 Spring MVC、REST 和 Tomcat 作为默认嵌入式服务器。单个 spring-boot-starter-web 依赖可以拉入所有与 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 服务器依赖项:

XML

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

spring-boot-starter-web 自动配置 Web 开发所需的以下内容:

  • 调度程序 Servlet
  • 错误页面
  • 嵌入式 servlet 容器
  • 用于管理静态依赖项的 Web JAR

Spring Boot 还支持 Jetty Server 和 Undertow Server。它们是嵌入式 Web 服务器。我们还可以从 spring-boot-starter-web 中排除 spring-boot-starter-tomcat,如下所示:

XML


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

Spring Boot Starter Tomcat

而 spring-boot-starter-tomcat 包含与 Tomcat 服务器相关的所有内容。它有

  • 埃尔
  • 日志记录
  • 网络套接字

它具有以下依赖项

XML

  
  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  

Spring Boot Starter Web 和 Spring Boot Starter Tomcat 之间的区别

Spring Boot Starter Web

Spring Boot Starter Tomcat

Spring Boot Starter Web is used for building RESTful applications using Spring MVC.Spring Boot Starter Tomcat is the default embedded container for Spring Boot Starter Web. 
We cannot exclude it while using web services.We can exclude it when we want to use another embedded container.
It also supports Jetty Server and Undertow Server.It acts as an embedded web server.
It auto-configures Dispatcher Servlet, Error Page, Embedded servlet container, and Web JARs for managing the static dependencies for web development.It has a core, el. logging, WebSocket.
It contains spring web dependencies.It contains everything related to an embedded tomcat server.
It auto-configures the features used for web development.It is used as the default embedded container.