Spring5源码 - 06 Spring Bean 生命周期流程 概述 01
文章目录
- Bean生命周期概述
- Demo
- finishBeanFactoryInitialization(beanFactory)
- 核心流程
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);
private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>(256);
那就找 ,singletonObjects .重新debug
核心流程
接下来 从源码上分析这些流程
Spring5源码 - 06 Spring Bean 生命周期流程 概述 01相关推荐
- Spring5源码 - 07 Spring Bean 生命周期流程 源码解读02
文章目录 Pre 通俗流程 finishBeanFactoryInitialization Pre Spring5源码 - 06 Spring Bean 生命周期流程 概述 01 接上文 通俗流程 下 ...
- 跟着小马哥学系列之 Spring IoC(源码篇:Bean 生命周期)
跟着小马哥学系列之 Spring IoC(源码篇:Bean 生命周期) 简介 Bean 元信息来源 Bean 元信息解析成 BeanDefinition 并注册 BeanDefinition 转变成 ...
- Spring Bean生命周期: Bean的实例化
[Spring Bean 生命周期系列]传送门 1.Spring Bean生命周期: Bean元信息的配置与解析阶段 2.Spring Bean生命周期: Bean的注册 3.Spring Bean生 ...
- Spring Bean 生命周期之“我从哪里来”?懂得这个很重要
Spring bean 的生命周期很容易理解.实例化 bean 时,可能需要执行一些初始化以使其进入可用 (Ready for Use)状态.类似地,当不再需要 bean 并将其从容器中移除时,可能需 ...
- Spring Bean生命周期:Bean的初始化阶段
[Spring Bean 生命周期系列]传送门 1.Spring Bean生命周期: Bean元信息的配置与解析阶段 2.Spring Bean生命周期: Bean的注册 3.Spring Bean生 ...
- Spring5源码 - 13 Spring事件监听机制_@EventListener源码解析
文章目录 Pre 概览 开天辟地的时候初始化的处理器 @EventListener EventListenerMethodProcessor afterSingletonsInstantiated 小 ...
- Spring5源码 - 12 Spring事件监听机制_异步事件监听应用及源码解析
文章目录 Pre 实现原理 应用 配置类 Event事件 事件监听 EventListener 发布事件 publishEvent 源码解析 (反推) Spring默认的事件广播器 SimpleApp ...
- Spring5源码 - 11 Spring事件监听机制_源码篇
文章目录 pre 事件监听机制的实现原理[观察者模式] 事件 ApplicationEvent 事件监听者 ApplicationEvent 事件发布者 ApplicationEventMultica ...
- Spring Bean默认配置为单实例 Spring Bean生命周期
2019独角兽企业重金招聘Python工程师标准>>> Spring 的Bean默认的是单例的. 如果不想单例需要如下配置: <bean id="user" ...
最新文章
- caffe 的命令行训练与测试
- zookeeper在搭建的时候,解决后台启动为standalone模式问题
- python如何爬虫-如何使用python爬虫爬取要登陆的网站
- sharepoint 场帐号修改密码
- Hadoop sqoop从MySQL导入数据到HDFS
- SDWebImage源码阅读(九)SDWebImageDownloader
- linux 将远程mysql复制,在线备份MySQL及远程copy到远程备份服务器shell脚本
- HTML5中如何检查浏览器是否支持本地存储
- 包云岗:伯克利科研模式的启发
- 可靠性测试竟如此容易
- Java中循环删除list中元素的方法总结(总结)
- AcheGesture-开源免费的手势框架
- Nginx+Tomcat负载均衡群集
- Hibernate---简介
- 腾讯等技术大佬分享的高可用架构干货,全在这里了
- 实验四 数据选择器及其应用
- Linux多线程编程
- 笔记本开热点自动断开
- voc旋转标注数据转dota类型
- 看各路单词APP不顺手 索性自己写一个背单词系统
热门文章
- 创智播客微服务_【传智播客】JavaEE在职加薪课
- Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用
- First Week :Linux系统学习
- tf.reshape 和 tf.transpose 用法
- 金融量化alpha和beta值的意义
- tensorflow 进阶(四)---CNN
- python 条形图图注怎么集中注意力_如何用每个条形图的总和(Matplotlib)注释堆积条形图?...
- pytorch离线安装(探索尝试版本)
- 文巾解题 70. 爬楼梯
- 将tif文件转化为png文件 Python3