Spring Boot启动顺序(源码导读 )

一、源码导读(spring boot版本为:2.0.4.RELEASE)

(1)启动类:@SpringBootApplication注释的类,核心方法为:

图 1.0

        点击进入静态方法run 则进入了SpringApplication 类,该类是spring boot启动的核心类。

(2)核心类:SpringApplication

        2.1、再次调用了同名静态方法run

Spring Boot启动顺序(源码导读 )_第1张图片
图 2.1

        2.2、根据Class创建SpringApplication实例,并且调用实例对象的run方法

Spring Boot启动顺序(源码导读 )_第2张图片
图 2.2

                    2.2.1 创建SpringApplication,调用构造函数

图 2.2.1

                             上图1.2.1代码又再次调用了异参构造函数 >>>>                        

Spring Boot启动顺序(源码导读 )_第3张图片
图 2.2.2

    (3)回顾上面的2.2代码,在创建SpringApplication对象后,继而调用对象的run方法>>而这里就是最核心的地方

            PS:ConfigurableApplicationContext 该接口继承自ApplicationContext接口。当你使用一个应用上下文时,我们使用的是ApplicationContext接口接住实例来操作,而当我们想使用应用上下文管理该应用的生命周期时,我们应当使用ConfigurableApplicationContext 接口接住对象,因为管理生命周期的抽象函数均在ConfigurableApplicationContext 接口实现。

            

Spring Boot启动顺序(源码导读 )_第4张图片
图 3.1

                            接上图>>>>

Spring Boot启动顺序(源码导读 )_第5张图片
图 3.2

                            接上图>>>>

Spring Boot启动顺序(源码导读 )_第6张图片
图 3.3

                            run方法执行完 -> 2.1 -> 一(1)

        到此,启动完毕。

你可能感兴趣的:(Spring Boot启动顺序(源码导读 ))