Spring日记——BeanFactory中Bean的生命周期
2018-01-31 16:39
295 查看
BeanFactory中Bean的生命周期流程图如下
Created with Raphaël 2.1.2开始调用InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation方法实例化调用InstantiationAwareBeanPostProcessor的postProcessAfterInstantiation方法,对已实例化对象进行修改调用InstantiationAwareBeanPostProcessor的postProcessPropertyValues方法给Bean设置配置属性调用BeanNameAware的setBeanName方法,设置bean的名字调用BeanFactoryAware的setBeanFactory方法,设置指定的BeanFactory调用BeanPostProcessor的postProcessBeforeInitialization方法,返回加工处理Bean,提供后期加工的切入点如果用实现InitializingBean接口的话,调用InitializingBean的afterPropertiesSet方法调用init-method属性配置的初始化方法调用BeanPostProcessor的postProcessAfterInitialization方法Bean的scope为Singleton?Spring缓存池中准备就绪的Bean调用DisposableBean的afterPropertiesSet方法调用destory-method属性配置的销毁方法结束将准备就绪的Bean交给使用者yesno以上方法可分为三类
1.Bean自身的方法Bean的构造方法,通过配置文件去设置Bean的属性,执行Bean的init-method和destory-method
2.Bean集生命周期的方法(个性化处理)
BeanNameAware,BeanFactoryAware,InitializingBean,DisposableBean的接口方法,由Bean类来直接实现
3.容器集生命周期方法(共性化处理)
InstantiationAwareBeanPostProcessor,BeanPostProcessor我们称之为后处理器,一般不由Bean本身实现,它们独立于Bean,实现类以附加装置的形式注入到Spring容器中,Spring创建容器时,这些后处理器都会发生作用
与ApplicationContext不同
调用InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation方法之前会调用BeanFactoryProcessor的postProcessBeanFactory方法,在调用BeanFactoryAware的setBeanFactory方法之后调用调用ApplicationContextAware的setApplicationContext方法相关文章推荐
- Spring之Bean在BeanFactory的生命周期
- Spring管理的bean的生命周期1(转)
- Spring(四)之Bean生命周期、BeanPost处理
- Spring中Bean的生命周期
- Spring AOP在Bean生命周期中的调用时机
- spring的bean的生命周期 回调方法
- Spring Bean配置默认为单实例 pring Bean生命周期
- Spring中bean的作用域与生命周期
- Spring学习2——Bean的生命周期
- Spring初学之bean的生命周期
- spring-IOC容器bean生命周期
- [Java] Spring 3.0 /id.vs.name/简单属性的注入/bean中的scope属性/集合注入/自动装配/生命周期/
- Spring 的 IOC 容器中 Bean 的生命周期
- spring 中 bean 生命周期
- Spring-11 , bean的生命周期
- Spring bean生命周期
- 详解Spring中bean的生命周期
- (3)Spring的三种实例 bean 的方式 以及 Spring中bean的作用域。 以及 bean的生命周期
- Spring《二》 Bean的生命周期
- Spring学习笔记之bean生命周期