易考八股文之SpringBoot的启动流程

SpringBoot的启动流程主要包括以下几个步骤:

1.创建SpringApplication对象

这个过程包括推断启动类型、设置初始化器、初始化监听器以及推断main方法所在的类。

2.运行SpringApplication的run方法

这是启动SpringBoot应用的核心入口,具体步骤包括:

  • 获取运行监听器。
  • 发布启动过程中的事件。
  • 准备环境配置(Environment)。
  • 创建ApplicationContext(IOC容器)。
  • 准备ApplicationContext的基本信息。
  • 刷新IOC容器。
  • 调用所有的runners。

3.总结:

在整个流程中,SpringBoot会加载配置文件(如application.yml 和application.properties ),根据配置信息初始化Spring容器,包括注册bean、创建bean实例、完成依赖注入等操作。此外,SpringBoot会自动扫描项目中的类,并根据@Configuration和@Bean注解进行自动配置。最后,SpringBoot会启动内嵌的Web服务器(如Tomcat或Jetty),使得应用程序可以直接以Web应用程序的形式运行。

相关推荐
SimonKing10 分钟前
SpringBoot 集成 SSE 实现服务端推送或可代替Websocket
java·后端·程序员
不正经的码狗13 分钟前
JAVA 、Eclipse 安装及配置 JAVA 项目(无需配置环境)
java·eclipse
xiaoqiMikko21 分钟前
你升的是 jackson-databind,中招的是 jackson-core:一个超长 JSON key 就能吃掉 200MB 堆
java·安全
不正经的码狗26 分钟前
Eclipse汉化(快速,推荐)
java·eclipse
极客互动API28 分钟前
极客互动-企业微信基于外部API接口实现AI客服自动接管外部联系人消息收发
java·微信·企业微信·ai编程·rpa
Sam_Deep_Thinking29 分钟前
关于java final关键字的可见性
java·后端·面试·程序员
tryxr31 分钟前
矩阵的几种基础变换
java·数据结构·算法·矩阵
写后端的胖头鱼32 分钟前
如何区分IO/CPU 密集型,线程池核心参数怎么设置
java·线程池·多线程·io密集·cpu密集
JAVA面经实录9171 小时前
IDEA 开发知识
java·intellij-idea·idea
于樱花森上飞舞1 小时前
【Redis】哨兵详解
java·开发语言·数据库·redis