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
搞定!