Spring的启动过程

通常,我们说的Spring启动,就是构造ApplicationContext对象以及调用refresh()方法的过程。首先,Spring启动过程主要做了这么几件事情:

  1. 构造一个BeanFactory对象(DefaultListableBeanFactory)

  2. 解析配置类,得到BeanDefinition,并注册到BeanFactory中

i. 解析@ComponentScan,此时就会完成扫描

ii. 解析@Import

iii. 解析@Bean

iv. 解析其他配置信息

  1. 因为ApplicationContext还支持国际化,所以还需要初始化MessageSource对象

  2. 因为ApplicationContext还支持事件机制,所以还需要初始化ApplicationEventMulticaster对象

  3. 把用户定义的ApplicationListener对象添加到ApplicationContext中,等Spring启动完了就要发布事件了

  4. 创建非懒加载的单例Bean对象,并存在BeanFactory的单例池中。

  5. 调用Lifecycle Bean的start()方法

  6. 发布ContextRefreshedEvent事件

相关推荐
企业数字化笔记几秒前
AI写的系统出现504怎么办?接口超时和数据库慢查询排查
数据库·后端
IT_陈寒6 分钟前
Redis的Set操作居然能把我的服务整挂了?
前端·人工智能·后端
momo0611727 分钟前
Redis新手入门 -- 学习笔记
redis·后端
zhangjw3428 分钟前
第47篇:Java综合实战:电商秒杀系统(高并发场景)
java·开发语言
井云AI33 分钟前
vendor 资源包是什么:井云 DSH 客户端打包为什么离不开它
后端·智能体小程序
土司大王37 分钟前
LeetCode hot100 回溯专题总结:Java 通用模板、决策树模型
java·算法·leetcode·决策树
重生之我是Java开发战士1 小时前
【Spring Cloud】Nacos注册中心
后端·spring·spring cloud
Wang's Blog1 小时前
Java框架快速入门:Spring Security+OAuth2之用户注册与唯一性校验实现
java·数据库·spring
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之多因子认证与TOTP实战
java·spring·ui
程序员20071 小时前
AI 编程工具链碎片化?基于多端兼容的统一 Agent Rules 架构实践
后端