SpringBean实例化的基本流程

Bean实例化的基本流程

  • Spring容器在进行初始化时,会将xml配置的**<bean>的信息** 封装成一个BeanDefinition对象(存储<bean>标签的信息,一个<bean>标签对应一个BeanDefinition对象),所有的BeanDefinition存储到一个名为beanDefinitionMap的Map集合中去,Spring框架在对该Map进行遍历,使用反射创建Bean实例对象(object),创建好的Bean对象存储到一个名为singletonObjects(单例池对象)的Map集合中,当调用getBean方法时则最总从该Map集合中取出Bean的实例对象返回。
    • 流程
      • 加载XML配置文件,解析获取配置文件中的每一个<bean>信息(Reader),封装成一个个BeanDefinition对象
      • 将BeanDefinition存储到一个名为BeanDefinitionMap的Map<String,BeanDefinition>中
      • ApplicationContext底层遍历beanDefinitionMap,创建Bean实例对象
      • 创建好的Bean实例对象,会被储存到一个名为singletonObjects的Map<String,Object>中
      • 当执行applicationContext.getBean(匹配条件)时,从singletonObjects去匹配实例返回
相关推荐
GISer_Jing10 分钟前
前端营销技术实战:数据+AI实战指南
前端·javascript·人工智能
编程小Y18 分钟前
MySQL 与 MCP 集成全解析(核心原理 + 实战步骤 + 应用场景)
数据库·mysql·adb
未若君雅裁18 分钟前
JVM面试篇总结
java·jvm·面试
GIS之路29 分钟前
使用命令行工具 ogr2ogr 将 CSV 转换为 Shp 数据(二)
前端
kk哥889938 分钟前
C++ 对象 核心介绍
java·jvm·c++
嘉琪00142 分钟前
Vue3+JS 高级前端面试题
开发语言·前端·javascript
招风的黑耳1 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
xunyan62341 小时前
面向对象(下)-接口的理解
java·开发语言
零度@1 小时前
SQL 调优全解:从 20 秒到 200 ms 的 6 步实战笔记(附脚本)
数据库·笔记·sql
Miss_Chenzr1 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端