當前位置:編程學習大全網 - 源碼下載 - SpringBoot2.x基礎篇—Bean的生命周期方法(實現Lifecycle接口)

SpringBoot2.x基礎篇—Bean的生命周期方法(實現Lifecycle接口)

源碼位置:

bean的創建時在 finishBeanFactoryInitialization(beanFactory); 方法。該方法中也有bean的生命周期的回調方法。 SpringBoot2.x基礎篇—Bean的生命周期方法(與容器耦合)

而實現了Lifecycle接口的bean,將會在 finishRefresh(); 方法中執行生命周期方法。(此時所有的bean均初始化完畢即Spring初始化完成,與Spring容器的創建解耦)。

常規的LifeCycle接口只是在容器上下文顯式的調用start()/stop()方法時,才會去回調LifeCycle的實現類的start stop方法邏輯。並不意味著在上下文刷新時自動啟動。

ApplicationContext本身接收啟動和停止信號(例如在運行時停止/重啟場景)時,spring容器將在容器上下文中找出所有實現了LifeCycle及其子類接口的類,並壹壹調用它們實現的類。spring是通過委托給生命周期處理器LifecycleProcessor來實現這壹點的。

那麽,如果Spring容器上下文沒有顯式的調用start和destory(或者close,stop)等方法時,我們也需要做到生命周期回調,怎麽做?

如果該 Lifecycle 類所在的上下文在調用 refresh 時,希望能夠自己自動進行回調,則返回 true ,false的值表明組件打算通過顯式的start()調用來啟動,類似於普通的Lifecycle實現。

玩轉Spring生命周期之Lifecycle

  • 上一篇:跪求畢業設計 家庭理財系統的設計與開發
  • 下一篇:如何解密被加密的ASP原碼?
  • copyright 2024編程學習大全網