spring bean初始化及銷燬你必須要掌握的回撥方法。
spring bean在初始化和銷燬的時候我們可以觸發一些自定義的回撥操作。
初始化的時候實現的方法
1、通過java提供的@PostConstruct註解;
2、通過實現spring提供的InitializingBean介面,並重寫其afterPropertiesSet方法;
3、通過spring的xml bean配置或bean註解指定初始化方法,如下面例項的initMethod方法通過@bean註解指定。
銷燬的時候實現的方法
1、通過java提供的@PreDestroy註釋;
2、通過實現spring提供的DisposableBean介面,並重寫其destroy方法;
3、通過spring的xml bean配置或bean註解指定銷燬方法,如下面例項的destroyMethod方法通過@bean註解指定。
初始、銷燬順序是怎樣的呢?
我們通過一個簡單的測試安全來驗證一下,分別把它們都派上用場。
上圖為要載入並銷燬的bean類。
上圖為測試並載入spring容器類,輸出這個方法得到以下結果。
===Constructor===
===@PostConstruct===
===InitializingBean afterPropertiesSet===
===initMethod===
===@PreDestroy===
===DisposableBean distroy===
===destroyMethod===
結論
從測試結果看出來的結果可以總結初始和銷燬對應的順序為:
初始:類構造器 > @PostConstruct > InitializingBean > init-method
銷燬:@PreDestroy > DisposableBean > destroyMethod
可能還有別的初始、銷燬的實現方法,歡迎留言和我交流。
相關文章
- springbean初始化及銷燬你必須要掌握的回撥方法。SpringBean
- Spring知識點回顧(05)bean的初始化和銷燬SpringBean
- 【spring原始碼系列】之【Bean的銷燬】Spring原始碼Bean
- 網際網路時代,營銷人必須要掌握的能力
- 通過Spring @PostConstruct 和 @PreDestroy 方法 實現初始化和銷燬bean之前進行的操作SpringStructBean
- Git中~你必須掌握的!Git
- git 必須要熟練掌握的命令Git
- 程式設計師生存指南:你必須要掌握的兩點!程式設計師
- Spring bean 通過實現 InitializingBean ,DisposableBean 介面實現初始化方法和銷燬前操作SpringBean
- JavaScript必須要掌握的知識-作用域JavaScript
- shell程式設計必須要掌握的命令-xargs程式設計
- 學習web前端,必須要掌握的CSS原理Web前端CSS
- Java必須掌握的Spring常用註解JavaSpring
- Java程式設計師微服務架構你必須要掌握的十個要點Java程式設計師微服務架構
- Spring原始碼學習之: 通過Spring @PostConstruct 和 @PreDestroy 方法 實現初始化和銷燬bean之前進行的操作Spring原始碼StructBean
- 6. 你必須掌握Dart中的陣列Dart陣列
- 10 個你必須掌握的超酷 VI 命令技巧
- java開發必須要掌握的20個核心技術Java
- JavaScript必須要掌握的知識-作用域編寫提升JavaScript
- Java程式設計師面試必須要掌握的面試題Java程式設計師面試題
- 【Spring註解驅動開發】如何使用@Bean註解指定初始化和銷燬的方法?看這一篇就夠了!!SpringBean
- Gradle:你必須掌握的開發常見技巧Gradle
- 大資料中必須要掌握的 Flink SQL 詳細剖析大資料SQL
- Java Annotation 必須掌握的特性Java
- 你必須瞭解Spring的生態Spring
- 你必須掌握在Flutter中新增資原始檔Flutter
- 9個必須掌握的Javascript處理陣列的方法JavaScript陣列
- 成為Python大牛必須要掌握的高階語法——yieldPython
- Linux新手入門必須要掌握的10個知識點!Linux
- 遊戲開發者必須掌握的移動廣告6大要點遊戲開發
- 你必須掌握的視覺化大屏開發模式視覺化模式
- PMD外掛:你必須掌握的程式碼質量工具!
- 【5】進大廠必須掌握的面試題-Java面試-spring面試題JavaSpring
- Spring IoC bean 的初始化SpringBean
- Spring Bean如何初始化的SpringBean
- 2017年,身為Android開發的你必須要掌握的熱門開源框架Android框架
- CSS中那些必須掌握的概念CSS
- 前端必須掌握的知識點前端