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

可能還有別的初始、銷毀的實現方法,歡迎留言和我交流。

推薦去我的博客閱讀更多:

1.Java JVM、集合、多線程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架構、阿里巴巴等大廠最新面試題

覺得不錯,別忘了點贊+轉發哦!


免責聲明!

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



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