1. 程式人生 > 其它 >第273天學習打卡(知識點回顧 springboot 嵌入式Servlet容器)

第273天學習打卡(知識點回顧 springboot 嵌入式Servlet容器)

知識點回顧

springboot嵌入式Servlet容器

  • 預設支援的webServer

    • Tomcat,Jetty, or Undertow

    • ServletWebServerApplicationContext容器啟動尋找ServletWebServerFactory並引導建立伺服器

  • 切換伺服器

    • JettyWebServer

    • NettyWebServer

    • TomcatWebServer

    • UndertowWebServer

  • 原理

    • SpringBoot應用啟動發現當前是Web應用,web場景包匯入tomcat

    • web應用會建立一個web版的ioc容器ServletWebServerApplicationContext

    • ServletWebServerApplicationContext啟動的時候尋找ServletWebServerFactory(Servlet的web伺服器工廠---> Servlet的web伺服器);TomcatServletWebServerFactory,JettyServletWebServerFactory,or UndertowServerFactory

    • 底層直接會有一個自動配置類,ServletWebServerFactoryAutoConfiguration

    • ServletWebServerFactoryAutoConfiguration匯入了ServletWebServerFactoryConfiguration(配置類)

    • ServletWebServerFactoryConfiguration配置類,根據動態判斷系統中到底匯入了哪個Web伺服器的包。(預設是web-server匯入tomcat包),容器中就有TomcatServletWebServerFactory

    • TomcatServletWebServerFactory創建出Tomcat伺服器並啟動,TomcatWebServer的構造器擁有初始化方法initialize----this.tomcat.start();

    • 內嵌伺服器,就是手動把啟動伺服器的程式碼呼叫(tomcat核心jar包存在)

雷豐陽2021版SpringBoot2零基礎入門springboot全套完整版(spring boot2)嗶哩嗶哩

bilibili