一图带你领略Spring Bean的生命周期全过程

Spring Bean的生命周期全过程也是大厂的高频面试题之一。接下来通过一张图带大家搞清楚Spring Bean的生命周期全过程。

Spring Bean的生命周期全过程分为5个阶段,创建前准备阶段、创建实例阶段、依赖注入阶段和容器缓存阶段以及销毁实例阶段。下图就是‍‍Spring的生命周期的完整的流程。

每个阶段的细节如下:

阶段1:创建前准备阶段

这个阶段主要是在开始Bean加载之前,从Spring上下文中去获取相关的配置并且解析,然后找到Bean有关的配置内容,比如说"init-method"容器在初始化Bean的时候去调用

‍这个方法。‍

"destory-method"容器在销毁Bean的时候去调用这个方法以及BeanFactoryPostProcessor这个类的Bean加载过程中的前置和后置的处理,这些类或者配置是Spring提供给开发者用来实现Bean加载过程中的一个扩展的机制。在很多和Spring集成的中间件中也经常‍‍使用到,比如Dubbo。

阶段2:创建实例阶段

这个阶段主要是通过反射来创建Bean的实际对象,并且扫描和解析Bean的声明的一些属性。‍

阶段3:依赖注入阶段

在这个阶段会检测被实例化的Bean是否存在其他依赖,如果存在其他依赖的话,‍‍就需要将这些依赖注入到Bean里面,比如说通过读取"@Autowired", "@Setter" 等注解去完成依赖注入的配置,‍‍这个阶段会触发一些扩展的调用,如常见的扩展类BeanPostProcessors它用来实现Bean初始化‍前后的一个回调。

如InitializingBean的afterPropertiesSet()方法,它可以给属性赋值。还有BeanFactoryAware等等。‍

‍阶段4:容器缓存阶段

容器缓存阶段主要是把Bean保存到IoC容器中缓存起来,‍‍到了这个阶段Bean就可以去被开发者使用了,这个阶段涉及到的操作有常见的“init-method”属性配置的方法会在这个阶段被调用,比如BeanPostProcessors它的后续处理方法postProcessAfterInitialization也会在这个阶段被触发。

阶段5:销毁时的阶段

这个阶段是完成Spring应用上下文的关闭的时候将会销毁Spring上下文中的‍‍所有的Bean,如果Bean实现了DisposableBean接口的话,或者是配置的“distory-method”的这些属性,都将会在这个阶段完成被调用。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值