当前位置 : 主页 > 编程语言 > java >

基于xml的Spring配置二(Bean 实例化的基本流程)

来源:互联网 收集:自由互联 发布时间:2023-02-04
Spring 容器在初始化时,会将xml配置的 的信息封装成一个 BeanDefinition 对象, 所有的 BeanDefinition 存储到一个名为 beanDefinitionMap 的Map集合中去, Spring框架在对该Map进行遍历,使用反射创建

Spring 容器在初始化时,会将xml配置的 的信息封装成一个 BeanDefinition 对象,

所有的 BeanDefinition 存储到一个名为 beanDefinitionMap 的Map集合中去,

Spring框架在对该Map进行遍历,使用反射创建Bean实例对象,

创建好的Bean对象存储在一个名为 singletonObjects 的Map集合中,

当调用getBean方法时,则最终从该Map集合中取出Bean实例对象返回。

简单记忆为:

(BeanDefinition --> beanDefinitionMap --> Bean --> singletonObjects )

如图

基于xml的Spring配置二(Bean 实例化的基本流程)_spring

  • 加载xml配置文件,解析获取配置的每个的信息,封装成一个个的BeanDefinition对象;
  • 将BeanDefinition存储在一个名为beanDefinitionMap的Map<String,BeanDefinition> 中;
  • ApplicationContext底层遍历beanDefinitionMap,创建Bean实例对象;
  • 创建好的Bean实例对象,被存储到一个名为 singletonObjects的Map<String,Object> 中;
  • 当执行applicationContext.getBean(beanName)时,从singletionObjects去匹配Bean实例返回。

如图

基于xml的Spring配置二(Bean 实例化的基本流程)_spring_02

2022.12.12  在宿舍办公,记此笔记。

上一篇:openSSL_read:Connection was aborted,error 10053
下一篇:没有了
网友评论