Spring容器从XML文件中读取bean的定义,并实例化bean。
Spring根据bean的定义填充所有的属性。
如果bean实现BeanNameAware接口,Spring传递bean的ID到setBeanName方法。
如果Bean实现了BeanFactoryAware接口,Spring传递beanfactory给setFactory方法。
如果有任何与bean相关联的BeanPostProcessors,Spring会postProcesserBeforeInitialization()方法内调用他们。
如果bean实现IntializingBean了,调用它的afterPropertySet方法,如果bean声明了初始化方法,调用此初始化方法。
如果有BeanPostProcessors 和bean 关联,这些bean的postProcessAfterInitialization() 方法将被调用。
如果bean实现了 DisposableBean,它将调用destroy()方法。
重要的bean 生命周期方法:
第一个是setup , 它是在容器加载bean的时候被调用。
第二个方法是 teardown , 它是在容器卸载类的时候被调用。
The bean 标签有两个重要的属性(init-method和destroy-method)。用它们你可以自己定制初始化和注销方法。它们也有相应的注解(@PostConstruct和@PreDestroy)。

本文详细介绍了Spring框架中Bean的生命周期,包括Spring如何读取并实例化bean,填充属性,调用初始化方法,以及销毁bean的过程。同时介绍了BeanPostProcessor的作用及如何通过init-method和destroy-method属性自定义初始化和销毁方法。
831

被折叠的 条评论
为什么被折叠?



