springboot jar包启动方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot jar包启动方式相关的知识,希望对你有一定的参考价值。

参考技术A 启动命令:

停止命令:
查看进程方式一 : jps命令

查看进程方式二

结束进程:

运行jar包:

启动程序: start.bat

停止 程序
stop.bat

springboot启动方式

参考技术A 两种

1.jar包方式

2.war包方式

jar包

1. Application.java中main方法SpringApplication.run(Application.class,args);

2.java -jar application.jar

3.以spring内嵌的tomcat启动,这种方式需要一个jar

war包

1.Application.java extends SpringBootServletInitializer

2.重写configure方法,builder.sources(Application.class)

3.这是以外部tomcat启动的

原理: 

SpringBootServletInitializer实现了WebApplicationInitializer,这个WebApplicationInitialzer是spring-web.jar的类;

通过spi实现了Serlvet3.0规范,在spring-web.jar/META-INF/services/javax.servlet.ServletContainerInitilizer文件里,加载了SpringServletContainerInitializer

这个SpringServletContainerInitializer implements ServletContainerInitializer

ServletContainerInitializer是在servlet-api.jar中,是一个servlet3.0规范的接口,tomcat启动会加载这个接口的实现。所以也就会加载SpringServletContainerInitializer

在SpringServletContainerInitializer中通过serlvet-api.jar的注解@HandlerTypes(WebApplicationInitializer.class),在onStartup()方法中把实现了WebApplicationInitializer的类放到参数集合Set<Class<?>> webAppInitializerClasses中,这个集合中就有前面的SpringBootServletInitializer

以上是关于springboot jar包启动方式的主要内容,如果未能解决你的问题,请参考以下文章

jar包启动方式以及配置文件读取顺序

springboot打包,jar包可以以service方式启动

SpringBoot常用注解及外部jar包注入方式

SpringBoot的三种启动方式

调试Idea如何远程debug之SpringBoot jar包启动

SpringBoot配置外部Tomcat项目启动流程源码分析(上)