spring 中类完整的生命周期

 

 

 

 

Bean的生命周期的11个步骤:

1.instantiate bean对象实例化
2.populate properties 封装属性
     (第三步和第四步是让自己设计的bean了解spring容器)
3.如果Bean实现BeanNameAware 执行 setBeanName
4.如果Bean实现BeanFactoryAware 或者 ApplicationContextAware 设置工厂 setBeanFactory 或者上下文对象 setApplicationContext
     (第五步和第八步实现自 BeanPostProcessor,可以用来增强 Bean)
5.如果存在类实现 BeanPostProcessor(后处理Bean ,执行postProcessBeforeInitialization
6.如果Bean实现InitializingBean 执行 afterPropertiesSet
7.调用<bean init-method="init"> 指定初始化方法 init
8.如果存在类实现 BeanPostProcessor(处理Bean ,执行postProcessAfterInitialization
9.执行业务处理
10.如果Bean实现 DisposableBean 执行 destroy
11.调用<bean destroy-method="customerDestroy"> 指定销毁方法 customerDestroy
CustomerService类的add方法之前进行权限校验?
 ------------------------------具体体现分割线----------------------------------------------------------------
1,bean instantiate 对象实例化
 

 

 

 
2,populate properties 封装属性
 
     

 

 

3,如果 Bean 实现了 BeanNameAware, 则执行 setBeanName;

 

 

4,如果 Bean 实现 BeanFactoryAware 或 ApplicationContextAware, 则执行设置工厂 setBeanFactory 或 设置上下文对象setApplicationContext
     

 

 

 

5,如果存在类实现了 BeanPostProcessor, 则执行 postProcessorBeforeInitialization
 
  

 

6,如果 Bean 实现了 InitializingBean 则执行 afterPropertiesSet
 
7,执行配置文件中 Bean 指定的初始化方法 <init-method="methodName">
 

8,如果存在类实现了 BeanPostProcessor, 则执行 postProcessorAfterInitialization   

9,用户自定义业务方法
 

10,如果 Bean 实现了 DisposableBean,调用 destory 方法.
 
 

 

 
11,调用配置文件中用户自定义的摧毁方法
 

 

posted @ 2017-05-14 19:26  harryper  阅读(2189)  评论(0编辑  收藏  举报