一、BeanFactory中bean的生命周期
基本流程:实例化,设置属性值,(初始化),如果是singleton的,放入单例缓存池;如果是prototype,交给调用者。
然后:
可以有实例化前的处理,实例化后的处理,属性设置前的处理。(接口:InstantiationAwareBeanPostProcessor)
可以有BeanNameAware和BeanFactoryAware的处理。
可以有初始化前和初始化后的处理。(接口:BeanPostProcessor)
初始化有两种:实现InitializingBean接口,或者配置了init-method方法。
如果是singleton的bean,容器销毁后,可以有销毁前的处理:实现DisposableBean接口,或者配置了destroy-method方法。
二、ApplicationContext中bean的生命周期
在BeanFactory中bean的生命周期基础上,增加了:
容器启动后可以对容器进行修改。
处理BeanFactoryAware的方法后,可以有ApplicationContextAware的处理。
网友评论