Spring的bean的实例化流程以及bean的生命周期

这个方法是spring中最最重要的方法,前期将class转换的所有beanDefinition都会在这个方法中进行bean的实例化,属性填充,初始化;在这个过程中,同时会执行很多的beanPostProcess的执行,BeanPostProcessor 接口类型实例是针对某种特定功能的埋点,在这个点会根据接口类型 来过滤掉不关注这个点的其他类,只有真正关注的类才会在这个点进行相应的功能实现

看源码的时候肯定有很多分支,如果想每行代码都看清楚是不可能的,所以先看最常用的主分支,在这个基础上再去看一些特殊的分支,那么bean实例化的时候最先进到的方法就是getBean,然后再调用到createBean

然后继续把该bean放入到三级缓存中

然后继续向下执行,会对bean的属性进行填充,填充完毕之后则就会执行bean的初始化方法,例如init-method,afterpropertiesset方法,此时一个完整的bean已经创建好了

程序继续向下走则会注册bean的销毁方法,等对bean进行销毁的时候会执行埋点方法

然后程序执行到最外面,将创建好的bean放入到一级缓存中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值