Spring5源码 - 06 Spring Bean 生命周期流程 概述 01

举报
小工匠 发表于 2021/09/09 22:52:10 2021/09/09
【摘要】 文章目录 Bean生命周期概述DemofinishBeanFactoryInitialization(beanFactory)核心流程 Bean生命周期概述 说到Spring Be...

在这里插入图片描述


Bean生命周期概述

说到Spring Bean的生命周期,其实就是探究Spring Bean实例化经历哪些步骤了

本篇博文先给个整体的解读,下文将从源码上来探究Spring Bean的生命周期过程。


Demo

先跑通一个小demo

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


finishBeanFactoryInitialization(beanFactory)

前面几篇博文,我们细说了 invokeBeanFactoryPostProcessors(beanFactory);

在这里插入图片描述

主要是完成扫描,但bean并没实例化,什么时候实例化的呢?

继续跟跟看

在这里插入图片描述
看到了执行完finishBeanFactoryInitialization以后对象的构造方法被打印了,这里只能说明这个对象被实例化了,但是不是bean 对象也完成了实例化,这个就不好说了,但大概率是的,所以还需要进入到方法中继续跟进。

有一点需要明确:

Java对象不一定是bean, bean一定是一个java对象。 bean 受到spring的管理,有 自己的生命周期。


怎么能验证bean有么有被实例化呢?

ac.getBean(Bean1.class) 跟进去 , 知道找到

Object singletonObject = this.singletonObjects.get(beanName);

  
 
  • 1
private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>(256);

  
 
  • 1

那就找 ,singletonObjects .重新debug

在这里插入图片描述


核心流程

在这里插入图片描述

接下来 从源码上分析这些流程

文章来源: artisan.blog.csdn.net,作者:小小工匠,版权归原作者所有,如需转载,请联系作者。

原文链接:artisan.blog.csdn.net/article/details/108683438

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。