spring bean初始化及销毁你必须要掌握的回调方法。
轉(zhuǎn)載自?spring bean初始化及銷毀你必須要掌握的回調(diào)方法。
?
spring bean在初始化和銷毀的時候我們可以觸發(fā)一些自定義的回調(diào)操作。
?
初始化的時候?qū)崿F(xiàn)的方法
?
1、通過java提供的@PostConstruct注解;
2、通過實現(xiàn)spring提供的InitializingBean接口,并重寫其afterPropertiesSet方法;
3、通過spring的xml bean配置或bean注解指定初始化方法,如下面實例的initMethod方法通過@bean注解指定。
?
銷毀的時候?qū)崿F(xiàn)的方法
?
1、通過java提供的@PreDestroy注釋;
2、通過實現(xiàn)spring提供的DisposableBean接口,并重寫其destroy方法;
3、通過spring的xml bean配置或bean注解指定銷毀方法,如下面實例的destroyMethod方法通過@bean注解指定。
?
初始、銷毀順序是怎樣的呢?
?
我們通過一個簡單的測試安全來驗證一下,分別把它們都派上用場。
?
?
上圖為要加載并銷毀的bean類。
?
?
上圖為測試并加載spring容器類,輸出這個方法得到以下結(jié)果。
?
===Constructor===
===@PostConstruct===
===InitializingBean afterPropertiesSet===
===initMethod===
===@PreDestroy===
===DisposableBean distroy===
===destroyMethod===
?
結(jié)論
?
從測試結(jié)果看出來的結(jié)果可以總結(jié)初始和銷毀對應的順序為:
?
初始:類構(gòu)造器 >?@PostConstruct >?InitializingBean > init-method
?
銷毀:@PreDestroy >?DisposableBean >?destroyMethod
?
可能還有別的初始、銷毀的實現(xiàn)方法,歡迎留言和我交流。
?
總結(jié)
以上是生活随笔為你收集整理的spring bean初始化及销毁你必须要掌握的回调方法。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WEB攻击手段及防御-扩展篇
- 下一篇: hashCode到底有什么用?