当前位置:编程学习 > JAVA >>

第一章~第一节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()方法,指定的方法将被调用。
大概的流程就是这样。其中需要实践才能真正的理解。到此第一节结束。
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,