首页 > 编程语言 > 详细

Spring Boot源码(三):去除Tomcat

时间:2020-02-08 18:29:37      阅读:76      评论:0      收藏:0      [点我收藏+]

Spring boot中使用的是内置的Tomcat,而不像Spring mvc那样依赖外部tomcat运行项目。

spring boot中导入了Tomcat的jar包:

技术分享图片

 

 

 点进一个Spring boot 项目的application类的run方法:

技术分享图片

 

 

 

技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 查看此方法的实现类:

技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 查看其实现类:

技术分享图片

 

 

 就是下面这段代码:

@Override
    public WebServer getWebServer(ServletContextInitializer... initializers) {
        Tomcat tomcat = new Tomcat();
        File baseDir = (this.baseDirectory != null) ? this.baseDirectory : createTempDir("tomcat");
        tomcat.setBaseDir(baseDir.getAbsolutePath());
        Connector connector = new Connector(this.protocol);
        tomcat.getService().addConnector(connector);
        customizeConnector(connector);
        tomcat.setConnector(connector);
        tomcat.getHost().setAutoDeploy(false);
        configureEngine(tomcat.getEngine());
        for (Connector additionalConnector : this.additionalTomcatConnectors) {
            tomcat.getService().addConnector(additionalConnector);
        }
        prepareContext(tomcat.getHost(), initializers);
        return getTomcatWebServer(tomcat);
    }

其getTomcatWebServer方法:

技术分享图片

 

 技术分享图片

 

 上面启动tomcat并设置守护线程。

 

Spring Boot源码(三):去除Tomcat

原文:https://www.cnblogs.com/SunSAS/p/12284118.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!