springboot jar 启动

 

一.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并启动,然后挂起等待用户访问

完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值