传统JavaBean的生命周期非常简单。用关键字new用来实例化Bean就可以了,而Bean的生命周期在Spring中更复杂。理解Spring Bean的生命周期非常重要,因为你也许需要利用Spring提供的机会来定制Bean的创建过程。
Bean的生命周期:(Bean在工厂中的生命周期和在Spring应用上下文中的生命周期只有一点不同)
1.容器寻找Bean的定义信息并且将其实例化。
2.使用依赖注入,Spring按照Bean定义信息配置Bean的所有属性。
3.如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。
4.如果Bean实现了BeanFactoryAware接口,工厂调用Bean的setBeanFactory()方法传入工厂自身。
5.如果是在Spring应用上下文中,如果Bean实现了ApplicationContextAware接口,setApplicationContext()方法会被调用。
6.如果有BeanPostProcessor和Bean关联,那么它们的postProcessBeforeInitialization()方法将被调用。
7.如果Bean指定了init-method方法,它将被调用
8.最后,如果有BeanPostProcessor和Bean关联,那么它们的postProcessAfterInitialization()将被调用。
到这个时候,Bean已经可以被应用系统使用了,并且保留在Bean Factory中直到它不再被需要。有两种方法可以把它从Bean Factory中删除掉。
1.如果Bean实现了DisposableBean接口,destroy方法被调用。
2.如果指定了定制的销毁方法,就调用这个方法。
posted on 2006-08-24 23:14
knowhow 阅读(382)
评论(0) 编辑 收藏 所属分类:
Framework