zoukankan      html  css  js  c++  java
  • Spring Boot源码(三):去除Tomcat

    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并设置守护线程。

  • 相关阅读:
    [摘]MongoDB范围查询的索引优化
    python ftp 暴破
    写mongodb日志
    [转]使用 Python 实现跨平台的安装程序
    HDOJ 1008 Elevator
    第一个数字
    反转串
    HDOJ 1108 最小公倍数
    HDOJ 1096 A+B for InputOutput Practice (VIII)
    报数游戏
  • 原文地址:https://www.cnblogs.com/SunSAS/p/12284118.html
Copyright © 2011-2022 走看看