系列十五、SpringBoot的启动原理分析

一、概述

        所谓SpringBoot的启动原理,翻译成大白话就是"当我们在主启动类上运行run方法时,SpringBoot底层到底做了什么事情,能够帮助我们启动一个Spring的web应用",上边用大白话解释了一下什么是SpringBoot的启动原理,那么它的启动原理到底是什么呢?下面请看源码分析:

        1、初始化SpringApplication;

系列十五、SpringBoot的启动原理分析_第1张图片

系列十五、SpringBoot的启动原理分析_第2张图片

        2、运行run()方法;

        3、读取环境变量、配置信息...

        4、创建SpringApplication上下文:ServletWebServerApplicationContext

        5、预初始化上下文:将启动类作为配置类进行读取===>将配置类注册为BeanDefinition;

        6、调用refreshContext加载IOC容器

                invokeBeanFactoryPostProcessor:解析@Import,加载所有的自动配置类;

                onRefresh:创建内置的Servlet容器;

        7、调用各种各样的监听器对外扩展;

调用链路如下:

系列十五、SpringBoot的启动原理分析_第3张图片

系列十五、SpringBoot的启动原理分析_第4张图片

系列十五、SpringBoot的启动原理分析_第5张图片
       

你可能感兴趣的:(SpringBoot系列,spring,boot,java,spring)