springboot jar 启动

SpringBoot提供了spring-boot-maven-plugin插件打包应用为可执行jar,这个jar包含所有依赖和SpringBootloader。启动时,Java通过manifest找到主类,由JarLauncher加载。SpringApplication初始化,读取配置,创建ServletWebServerApplicationContext,预初始化后刷新容器加载自动配置,如启用web时内置Tomcat自动配置并启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一.jar包打包执行 

1.SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。

2.Spring Boot应用打包之后,生成一个Fatjar(ar包中包含jar),包含了应用依赖的jar包和Spring Boot loader相关的类。

3.java -jar会去找jar中的manifest文件,在那里面找到真正的启动类

4.Fatjar的启动Main函数是JarLauncher,它负责创建一个LaunchedURLClassLoader来加载boot-lib下面的jar,并以一个新线程启动应用的Main函数

项目的main方法


二.SpringBoot的启动原理?
1.运行main方法:初始化SpringApplication 从spring.factories 读取 listener ApplicationContextlnitializer

将启动类放入primarySources 国
推算当的web应用类型 webApplicationType 国
1.初始化SpringApplication: new SpringApplication(primarySources)读取ApplicationContextinitializer初始化器回总结:初始化信息
nlisten    听器回    
提main方法所在的类放入mainApplicationClass医

2.运行run方法
3.读取 环境变量 配置信息.
4.创建springApplication上下文:ServletWebServerApplicationContext
5.预初始化上下文:'读取启动类
6.调用refresh 加载ioc容器
加载所有的自动配置类创建(内置)servlet容器,tomcat容器也包括在内

三.内置tomcat 启动
当依赖Spring-boot-starter-web依赖时会在SpringBoot中添加:ServletWebServerFactoryAutoConfiguration servlet容器自动配置类。 该自动配置类通过@lmport导入了可用(通过@ConditionalOnClass判断决定使用哪一个)的一个Web容器工厂(默认Tomcat)
在内嵌Tomcat类中配置了一个TomcatServletWebServerFactory的Bean(Web容器工厂)。 它会在SpringBoot启动时 加载ioc容器(refresh)OnRefersh创建内嵌的Tomcat并启动,然后挂起等待用户访问

完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值