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,調用配置文件中用戶自定義的摧毀方法
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM