返回顶部
首页 > 资讯 > 后端开发 > JAVA >【Spring6源码・IOC】Bean的初始化 - 终结篇
  • 881
分享到

【Spring6源码・IOC】Bean的初始化 - 终结篇

缓存springjava 2023-09-11 07:09:20 881人浏览 安东尼
摘要

前面两篇,我们着重讲解了一下《BeanDefinition的加载》和《bean的实例化》。 这一篇我们来讲解一下bean的初始化。 我们这里的案例依旧是以SpringBoot3.0、jdk17为前提

前面两篇,我们着重讲解了一下《BeanDefinition的加载》《bean的实例化》

这一篇我们来讲解一下bean的初始化。

在这里插入图片描述

我们这里的案例依旧是以SpringBoot3.0、jdk17为前提,案例代码如下:

@Componentpublic class A {    @Autowired    private B b;    }
@Componentpublic class B {    @Autowired    private A a;}

首先,先明确一下这个三级缓存

一级缓存 singletonObjects 中存放完全初始化好的 bean 的实例。
二级缓存 earlySingletonObjects中存放早期对象(未完全初始化完成的 bean 实例)。
三级缓存 singletonFactories 中存放 bean 工厂对象。

bean 创建起来比较复杂,所以将bean缓存起来,方便之后使用。

上一篇,我们实例化了bean之后,将bean放入了第三级缓存,看一下这个addSingletonFactory方法,如果一级缓存中没有对应的bean&#x

来源地址:https://blog.csdn.net/CSDN_SAVIOR/article/details/128614849

--结束END--

本文标题: 【Spring6源码・IOC】Bean的初始化 - 终结篇

本文链接: https://lsjlt.com/news/402806.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作