springboot启动源码

发布时间 2023-05-30 18:34:08作者: 余明星
每个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. 项目的初始化启动