嵌入式tomcat如何工作?

问题描述 投票:0回答:1

只是想详细了解一下。嵌入式tomcat如何在springboot应用程序中工作?它如何执行应用程序 jar。请分享学习springboot嵌入式服务器的链接。

我尝试运行 sringboot 应用程序。但是嵌入式 tomcat jar 是如何执行运行我们的应用程序的呢

spring-boot tomcat spring-boot-maven-plugin
1个回答
0
投票

Spring Boot 使用嵌入式 servlet 容器方法,这意味着它将 servlet 容器(如 Tomcat、Jetty 或 Undertow)打包为 JAR 依赖项,并将应用程序作为独立应用程序运行。这与传统的 Java Web 应用程序不同,传统的 Java Web 应用程序打包为 WAR 文件并部署在独立的 servlet 容器或应用程序服务器上。

以下是 Spring Boot 的嵌入式 Tomcat 如何工作的简化说明:

  1. 当 Spring Boot 应用程序启动时,它会创建

    SpringApplication
    的实例,负责运行应用程序。

  2. SpringApplication
    然后初始化Spring上下文。 Spring 上下文负责创建和管理应用程序中定义的 bean。

  3. 作为上下文初始化的一部分,Spring Boot 自动配置开始发挥作用。这就是 Spring Boot 的“约定优于配置”哲学发挥作用的地方。 Spring Boot 自动配置是一项功能,允许根据您在项目中添加的 JAR 依赖项自动配置 Spring 应用程序。

  4. 如果 Spring Boot 检测到 Tomcat 位于类路径上并且没有配置其他 Web 服务器,它会自动配置嵌入式 Tomcat 实例。这是由

    TomcatServletWebServerFactory
    完成的,它负责配置和初始化 Tomcat 实例。

  5. TomcatServletWebServerFactory
    创建
    Tomcat
    的实例并配置它。它设置 HTTP 连接器、初始化上下文并设置任何必要的 Tomcat 生命周期侦听器。

  6. 一旦 Tomcat 实例设置完毕,Spring Boot 就会启动它。然后,Tomcat 侦听配置端口上的 HTTP 请求,并将这些请求转发到适当的 Spring 控制器进行处理。

  7. 当应用程序关闭时,Spring Boot 会停止嵌入式 Tomcat 服务器。

这种方法简化了应用程序的部署和分发,因为您只需要 Java 运行时环境 (JRE) 来运行应用程序,无需安装和维护单独的 servlet 容器或应用程序服务器。

参考:https://medium.com/javarevisited/what-happens-internally-when-you-start-a-spring-boot-application-part1-a683a64c1be8

© www.soinside.com 2019 - 2024. All rights reserved.