提示:文章先作为初版,等后续时间充足后,补充更深的内容


文章目录

  • SpringBoot如何启动的Tomcat
  • 一、流程
  • 二、总结



SpringBoot如何启动的Tomcat

一、流程

在Spring Boot应用程序中,内嵌的Tomcat服务器是通过Spring Boot Starter Web模块提供的功能来启动的。下面是Spring Boot启动Tomcat的大致过程:

引入Spring Boot Starter Web依赖:在项目的pom.xml文件中添加Spring Boot Starter Web依赖,它会自动包含Tomcat作为内嵌服务器。

创建Spring Boot应用类:创建一个Java类,并使用@SpringBootApplication注解标记该类。该注解包含了多个注解的组合,其中包括@EnableAutoConfiguration、@ComponentScan和@Configuration。

启动应用程序:在Spring Boot应用类中,使用SpringApplication.run()方法来启动应用程序。
1.首先,SpringBoot在启动时会先创建一个Spring容器
2.在创建Spring容器过程中,会利用**@CondtionalOnClass技术来判断当前classpath中是否存在Tomcat依赖**,如果存在则会生成一个启动Tomcat的Bean
3. Spring容器创建完之后,就会获取启动Tomcat的Bean,并创建Tomcat对象,并绑定端口等,然后启动Tomcat

Tomcat配置加载:Spring Boot会自动加载Tomcat的配置。如果在application.properties或application.yml文件中定义了Tomcat相关的配置属性(如端口号、上下文路径等),则会被自动加载并应用于内嵌的Tomcat服务器。

Servlet容器初始化:在Tomcat启动过程中,Servlet容器会被初始化。它会读取应用程序的类路径下的Servlet、Filter和Listener等相关组件,并进行初始化和注册

请求处理:一旦Tomcat成功启动,它会监听指定的端口号,并等待来自客户端的HTTP请求。当收到请求时,Tomcat会根据配置的路由规则和请求的URL将请求转发给相应的Servlet进行处理

二、总结

Spring Boot通过引入Spring Boot Starter Web依赖和创建Spring Boot应用类,在应用启动过程中加载Tomcat并初始化Servlet容器,以提供对HTTP请求的处理能力。这种方式使得开发者可以方便地在Spring Boot应用程序中嵌入和配置Tomcat服务器,从而简化了Web应用程序的开发和部署过程。