spring boot启动流程
2024-07-12 16:14:49 0 举报
AI智能生成
登录查看完整内容
123
作者其他创作
大纲/内容
通过
加载Spring Boot的自动配置类
默认banner
自定义banner
从Spring Boot的jar包中的classpath下加载banner文件
设置Spring Boot的Banner
解析配置文件的属性
将属性绑定到Spring Environment中
加载application.properties或application.yml文件
解析Spring Boot的配置文件
触发时机
事件监听器
ApplicationStartingEvent事件
ApplicationReadyEvent事件
Spring Boot的事件发布机制
Spring Boot的初始化阶段
解析
SpringBootApplication注解引入
加载
SpringBootApplication注解
从META-INF/spring.factories文件中加载自动配置类
EnableAutoConfiguration注解
设置父类加载器
设置线程上下文类加载器
设置ApplicationContext的类加载器
设置Profile
设置属性源
设置ApplicationContext的环境
创建AnnotationConfigApplicationContext或SpringApplicationContext
扫描
注册BeanDefinition
通过构造器实例化
通过工厂方法实例化
实例化Bean
字段注入
构造器注入
setter方法注入
依赖注入
执行
Bean的初始化
Spring Boot的Bean加载阶段
执行用户自定义的启动逻辑
触发ApplicationRunner或CommandLineRunner的run方法
通知所有监听器Spring Boot应用已经就绪
发布ApplicationReadyEvent事件
Spring Boot的Bean初始化完成阶段
Spring Boot的ApplicationContext创建阶段
ComponentScan指定的包路径
Component、
Service、
Repository、
从
Controller等注解的类
加载Java Config类
加载XML配置
Import注解中加载配置类
执行InitializingBean接口的afterPropertiesSet方法
PostConstruct注解的方法
销毁所有单例Bean
关闭ApplicationContext
停止所有正在处理的请求
关闭所有网络连接
停止服务器
关闭Spring Boot的嵌入式服务器(如Tomcat)
通知所有监听器Spring Boot应用启动失败的原因
发布ApplicationFailedEvent事件(如果启动失败)
Spring Boot的关闭阶段
执行DisposableBean接口的destroy方法
PreDestroy注解的方法
spring boot启动流程
![spring boot启动流程](https://www.processon.com/chart_image/template/thumb/6690e5f9ac28a47195cbc373.png?tid=6690e5b7e67b4846141bf224)
收藏
0 条评论
回复 删除
下一页