系列十六、SpringBoot内置web服务器为Tomcat原理分析

一、概述

        作为Spring家族的明星产品,SpringBoot极大地简化了程序员的日常开发,提高了开发效率。我们很容易得借助于SpringBoot就可以快速开发业务代码,不知道大家有没有思考过,当我们在idea中创建了一个SpringBoot项目,引入 spring-boot-starter-web 后直接运行main方法,会在控制台打印如下信息:

        很明显这说明SpringBoot启动服务时,默认使用的web服务器是Tomcat,这是通过实际结果证明的,那么代码层面呢?SpringBoot是如何集成Tomcat,让其对外提供服务的呢?这就涉及到了SpringBoot的自动配置原理了,下面请看源码分析:

二、原理

        1、当我们初始化一个springboot工程后,会在自动配置类 ServletWebServerFactoryAutoConfiguration 中启用内置Tomcat;

        2、SpringBoot主启动类运行时,会创建Spring容器 AnnotationConfigServletWebServerApplicationContext

        3、调用容器的refreshContext方法加载IOC容器;

        4、执行 invokeBeanFactoryPostProcessors(beanFactory)  解析所有的自动配置类;

        5、调用 onRefresh 方法,创建webServer;

        6、创建Tomcat & 启动Tomcat服务,并阻塞Tomcat服务

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值