首页 > 编程语言 >springboot启动源码

springboot启动源码

时间:2023-05-30 18:46:31浏览次数:45  
标签:初始化 run springboot 启动 Boot SpringApplication 源码

每个Spring Boot项目都有一个主程序启动类,在主程序启动类中有一个启动项目的main()方法, 在该方法中通过执行SpringApplication.run()即可启动整个Spring Boot程序。 问题:那么SpringApplication.run()方法到底是如何做到启动Spring Boot项目的呢? 下面我们查看run()方法内部的源码,核心代码具体如下  

 

 

 

 从源码中可以看出启动分成了 初始化和启动两部分

1. SpringApplication实例的初始化

   标红的部分源码主要是利用

SpringFactoriesLoader从META-INF/spring.factories类路径下的META-INF下的spring.factores文件中 获取所有可用的应用初始化器类ApplicationContextInitializer以及ApplicationListener   2. 项目的初始化启动

 

标签:初始化,run,springboot,启动,Boot,SpringApplication,源码
From: https://www.cnblogs.com/yumx/p/17444078.html

相关文章

  • 分页 springboot
    maven<!--https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spri......
  • UE4 源码解析----引擎初始化流程
      在研究UE4的源码过程中着实不理解的地方有很多,今天给大家分享一下UE4引擎的初始化流程。一、引擎的函数入口C++的函数入口都是Main()函数入口,UE4也是一样,Engine\Source\Runtime\Launch\PrivateWindows函数入口 引擎入口函数为:GuardedMain 二、引擎初始化的三个阶......
  • 源码编译安装openssh 最新版
    #创建几个目录备用mkdir-p/usr/local/zlib/mkdir-p/usr/local/openssl/mkdir-p/usr/local/openssh/ #安装编译需要用到的依赖包yum-yinstallwgetdnfvimgccgcc-c++makeperlpam-devel #下载相关源码包cd/rootwgethttps://ftp.openbsd.org/pub......
  • hj_podman_jenkins_maven_git_springboot_ssh一键部署项目
    podmanpulljenkins/jenkins:jdk17podmanrun-d--privileged=true\-uroot--namejenkins_jdk17_8081\-p8081:8080-p50001:50000\-v/hj_files/jenkins_jdk17:/var/jenkins_home\a307650508c6http://105.35.260.230:8081/ 安装好推荐配置后.再安装俩插件  Mave......
  • springboot-解决项目编译后resources下文件生成乱码问题
    SpringBoot项目下resources文件项目编译之后resources下文件会生成乱码,是说明maven打包的时候出现问题缺少一个插件<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId>......
  • Linkis v1.3源码分析
     首先找到单机安装linkis的教程,可以看到第一次先执行install.sh 我们就从这个install.sh作为突破口,看看安装的时候,做了什么?   看到install.sh的前面就是设置了一些变量和环境检测,然后就执行了common.sh了,所以先暂时暂停到install.sh的48行,先去看一下......
  • 2021级《软件工程》 开发技能测试试卷(180分钟)源码
    开发工具:Eclipse前端技术:基础:html+css+JavaScript框架:JQuery+H-ui后端技术:Spring+SpringMVC+mybatis模板引擎:JSP数据库:mysql5.7.27jdk版本:1.8.0_251tomcat版本:Tomcat9.0数据库连接池:druidSpring-context.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmln......
  • ES无法启动_OOM_Exception in thread "main" java.lang.RuntimeException: starting j
    1.报错显示[root@iZ7xv2ya5ap2bnetr231koZ~]#dockerlogsesExceptioninthread"main"java.lang.RuntimeException:startingjavafailedwith[1]output:##ThereisinsufficientmemoryfortheJavaRuntimeEnvironmenttocontinue.#Nativememorya......
  • 直播app源码,常用控件:进度指示器
    直播app源码,常用控件:进度指示器LinearProgressIndicator是一个线性、条状的进度条 LinearProgressIndicator({ //value表示当前的进度,取值范围为[0,1];如果value为null时则指示器会执行一个循环动画(模糊进度);当value不为null时,指示器为一个具体进度的进度条。 doublevalue......
  • springboot使用jdbc连接mysql(不用配置文件)
     1、连接mysql的工具类:packagecom.jzproject.common.mysql;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importorg.springframework.jdbc.core.JdbcTemplate;importjava.sql.*;importjava.util.ArrayList;importjava.util.HashMap;......