Spring boot 的main 入口启动方式相信都会用,直接运行main直接就启动了,但是往往这种方式并不是最佳的启动方式,比如运维的层面更希望调整tomcat的调优参数,而只使用嵌入启动方式很难做到这些。所以使用tomcat方式启动spring boot就比较重要。
1、去tomcat 官网下载 tomcat 8 tar.gz 文件,然后解压.
https://tomcat.apache.org/download-80.cgi
2、idea中,配置启动
3、gradle or maven 配置
<packaging>war</packaging>
or
apply plugin: "war"
4、增加tomcat启动调用spring boot初始化入口:
public class ServletInitializer extends SpringBootServletInitializer { private Logger logger = LoggerFactory.getLogger(ServletInitializer.class); @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { logger.info("starting spring boot initializer ......"); return application.sources(MainApplication.class); } }
or
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
5、start runing
搞定!