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
可能還有別的初始、銷燬的實現方法,歡迎留言和我交流。
相關文章
- 4_Spring Bean的初始化和銷燬SpringBean
- Spring Prototype Bean手動銷燬4種方法SpringBean
- 【spring原始碼系列】之【Bean的銷燬】Spring原始碼Bean
- 必須要掌握的重要目錄
- Git中~你必須掌握的!Git
- 程式設計師生存指南:你必須要掌握的兩點!程式設計師
- Java必須掌握的Spring常用註解JavaSpring
- JavaScript必須要掌握的知識-作用域JavaScript
- 學習web前端,必須要掌握的CSS原理Web前端CSS
- shell程式設計必須要掌握的命令-xargs程式設計
- Bean 的生命週期回撥Bean
- Java程式設計師微服務架構你必須要掌握的十個要點Java程式設計師微服務架構
- 【Spring註解驅動開發】如何使用@Bean註解指定初始化和銷燬的方法?看這一篇就夠了!!SpringBean
- JavaScript必須要掌握的知識-作用域編寫提升JavaScript
- java開發必須要掌握的20個核心技術Java
- 大資料中必須要掌握的 Flink SQL 詳細剖析大資料SQL
- 6. 你必須掌握Dart中的陣列Dart陣列
- Gradle:你必須掌握的開發常見技巧Gradle
- 你必須瞭解Spring的生態Spring
- Spring IoC bean 的初始化SpringBean
- Spring Bean如何初始化的SpringBean
- 成為Python大牛必須要掌握的高階語法——yieldPython
- Linux新手入門必須要掌握的10個知識點!Linux
- 回撥方法
- spring原始碼之bean的初始化及迴圈引用Spring原始碼Bean
- 9個必須掌握的Javascript處理陣列的方法JavaScript陣列
- aardio 開發桌面應用,這幾點必須要掌握!
- 你必須掌握在Flutter中新增資原始檔Flutter
- Java程式設計師必須掌握的Spring依賴管理原理Java程式設計師Spring
- 你必須掌握的視覺化大屏開發模式視覺化模式
- PMD外掛:你必須掌握的程式碼質量工具!
- Spring容器 —— 深入 bean 的載入(五、初始化 bean)SpringBean
- 回撥和spring的LambdaSafe類Spring
- Spring 原始碼(17)Spring Bean的建立過程(8)Bean的初始化Spring原始碼Bean
- 必須掌握的10個Linux命令!Linux
- 前端必須掌握的知識點前端
- CSS中那些必須掌握的概念CSS
- 學習Linux必須掌握的命令!Linux
- 【5】進大廠必須掌握的面試題-Java面試-spring面試題JavaSpring