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去匹配实例返回
相关推荐
JavaArchJourney11 分钟前
LinkedList 源码分析
java
回家路上绕了弯14 分钟前
Spring AOP 详解与实战:从入门到精通
java·spring
wwy_frontend14 分钟前
useState 的 9个常见坑与最佳实践
前端·react.js
w_y_fan15 分钟前
flutter_riverpod: ^2.6.1 应用笔记 (一)
前端·flutter
Jerry17 分钟前
Compose 界面工具包
前端
Focusbe18 分钟前
从0到1开发一个AI助手
前端·人工智能·面试
egghead2631619 分钟前
React组件通信
前端·react.js
RIKA19 分钟前
【前端工具】使用 Node.js 脚本实现项目打包后自动压缩
前端
橙某人26 分钟前
🖼️照片展示新境界!等高不等宽自适应布局完整教程⚡⚡⚡
前端·javascript·css
咕噜分发企业签名APP加固彭于晏28 分钟前
市面上有多少智能体平台
前端·后端