第一章~第一节spring bean的生命周期

看到上面的这张图可能大家就能很清晰的理解spring是如何初始化beans及管理benas的生命周期了,那下面就具体的说下这个整体流程。

传统的java应用中,bean的生命周期很简单。关键字new初始化bean然后待用,一旦这个bean不再使用则进入了垃圾回收阶段进行处理。那么

spring是如何管理?对比之下,bean的生命周期在spring容器的管理之中更加缜密(即分步骤更加明确)了。理解spring是如何管理bean的生命

周期是很重要的,因为你可能想要利用spring给你提供的选择来初始化你自己想要的(即带有自己特色的)bean。上图显示了spring容器启动并

加载bean之后的生命周期。

就像你看到的那样,一个bean factory做了如下的几步在bean可以使用之前。那么我们就更详细的分解下上图。

1】spring实例化bean开始

2】spring为bean的属性注入值或者相应的引用

3】如果bean实现了BeanNameAware接口,spring将传递这个bean的id到setBeanName()的方法中

4】如果bean实现了BeanFactoryAware接口,spring将调用setBeanFactory()方法并传递bean factory本身进去

5】如果bean实现了ApplicationContextAware接口,spring将调用setApplicationContext()方法,并通过一个引用来关闭应用上下文。

6】如果任何一个bean实现了BeanPostProcessor接口,spring将调用postProcessBeforeInitialization()方法

7】如果任何的bean实现了InitializingBean接口,spring将调用afterPropertiesSet()方法。相似的,如果一个bean声明init-method方法,那么指定的方法将被调用

8】如果任何一个bean实现了BeanPostProcessor接口,spring将调用postProcessAfterInitialization()方法

9】到此,bean就可以使用了在应用中,并且保持在应用上下文中直到应用被销毁。

10】如果任何bean实现了DisposableBean接口,spring将调用destroy()方法。同样如果任何一个bean声明了destroymethod()方法,指定的方法将被调用。

大概的流程就是这样。其中需要实践才能真正的理解。到此第一节结束。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值