侧边栏壁纸
  • 累计撰写 116 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

SpringBoot启动流程

SpringBoot启动流程

SpringBoot启动,其本质就是加载各种配置信息,然后初始化IOC容器并返回。

首先,在启动类执行 SpringApplication.run时,run方法主要做两件事:

  1. 创建 SpringApplication对象;
  2. 执行 SpringApplication对象的 run方法。

其次,创建 SpringApplication时,构造方法主要做三件事情:

  1. 确认web应用类型,一般是 Servlet类型,Servlet类型将来会启动一个 tomcat;
  2. 从 spring.factories配置文件中加载默认的 ApplicationContextInitializer和 ApplicationListener;
  3. 记录当前的主启动类,将来用作包扫描。

最后,对象创建好了以后,调用 SpringApplication对象的 run方法,主要做四件事情:

  1. 准备 Enviroment对象,它里面会封装一些当前应用运行环境的参数,如 环境变量等等;
  2. 实例化容器,这里仅仅是创建 AppicationContext对象;
  3. 容器创建完成后会为容器做一些准备工作,如为容器设置 Enviroment、BeanFactory、BeanFactoryPostProccessor,并加载主类对应的 Definition;
  4. 刷新容器(refresh),在这里会创建真正的 Bean实例。

SpringBoot启动的核心就两部,创建 SpringApplication对象和执行 run方法,在 run方法中会真正的实例化容器,并创建容器中需要的Bean实例,最终返回。

博主关闭了所有页面的评论