zoukankan      html  css  js  c++  java
  • springboot之启动方式

    我们在ideal中启动springboot项目时时不需要加载Tomcat容器的,直接在启动类启动就行了,原因是springboot项目中默认包含了内置Tomcat

    //springboot项目必须引入的启动包
    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

    我们可以点进去看一下spring-boot-starter-web中都有什么

     <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-tomcat</artifactId>
          <version>2.0.0.RELEASE</version>
          <scope>compile</scope>
     </dependency>

    可以看到我们在spring-boot-starter-web中是可以看到他是内置了tomcat的,所以我们在idea中启动时不需要加载Tomcat的,因为他默认提供了一个

    那么如果要在Tomcat中部署springboot项目中我们需要做什么呢?

    1.去除springboot自带的Tomcat

     <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
              </exclusions>
     </dependency>

    2.因为外置的Tomcat是不像内置的Tomcat一样能够自动识别springboot项目的启动入口的。所以我们需要继承springboot初始化的类SpringBootServletInitializer然后重写其中的configure方法,告知外置Tomcat的启动入口是你的springboot启动类

    @SpringBootApplication
    public class OneserviceManagerApplication extends SpringBootServletInitializer { 

      public static void main(String[] args) {
        SpringApplication.run(OneserviceManagerApplication.
    class, args);
      }
       @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(OneserviceManagerApplication.class);
        }
    }

    或者你也可以这么写

    public class ServletInitializer extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(OneserviceManagerApplication.class);
        }
    
    }

    然后你的springboot项目就可以成功部署到Tomcat下了

    当然如果你把项目打成jar包,他也是可以直接运行的,而且不需要外置的Tomcat的。前提是不要做上面的那些修改了

  • 相关阅读:
    Daily Scrum NO.4
    Daily Scrum NO.3
    Daily Scrum NO.2
    Daily Scrum NO.1
    Beta任务项录入
    M1事后分析报告
    wenbao与概率
    wenbao与组合数
    wenbao与高斯消元
    wenbao与链表
  • 原文地址:https://www.cnblogs.com/UncleWang001/p/10025130.html
Copyright © 2011-2022 走看看