SpringBoot内嵌tomcat(2)【Tomcat的启动入口】源码简析
在springboot支持Web模式下启动加载 ApplicationContext 是:
org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext extends org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext 。
超类是 org.springframework.context.support.AbstractApplicationContext !在其 核心处理refresh() 方法中,先onRefresh() 再 finishRefresh()。
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext
- 重写 onRefresh(): 创建org.springframework.boot.web.server.WebServer
createWebServer 方法:获取实现接口 org.springframework.boot.web.servlet.server.ServletWebServerFactory (org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory)的实例来创建WebServer实例org.springframework.boot.web.embedded.tomcat.TomcatWebServer。 - 重写子方法 finishRefresh(): 启动WebServer。
实际是 org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start()
内置多种容器: (文章说 Undertow 并发吞吐能力 比 Tomcat 更优。 https://mp.weixin.qq.com/s/lfMcOMZo7Wg5lGOn0Pn8Ww)
以上是 SpringBoot内嵌tomcat(2)【Tomcat的启动入口】源码简析 的全部内容, 来源链接: utcz.com/z/514892.html