更新時間:2020-05-22 15:45:54 來源:動力節點 瀏覽2654次
如何管理Spring Bean的生命周期?回答這個問題之前,我們可以先來看看Bean的定義,Bean是一個被實例化,組裝,并通過Spring IOC容器所管理的對象。換句話說,那些組成應用程序的主體以及由Spring IOC容器所管理的對象就是bean。另外,在Spring中bean默認都是單例的。想要管理Spring Bean的生命周期,大概要按照以下步驟去做:
步驟1:實例化一個Bean,也就是我們通常說的new;
步驟2:按照Spring上下文對實例化的Bean進行配置,也就是IOC注入;
步驟3:如果這個Bean實現了BeanNameAware接口,會調用它實現的setBeanName(StringbeanId)方法,此處傳遞的是Spring配置文件中Bean的ID;
步驟4:如果這個Bean實現了BeanFactoryAware接口,會調用它實現的setBeanFactory(),傳遞的是Spring工廠本身(可以用這個方法獲取到其他Bean);
步驟5:如果這個Bean實現了ApplicationContextAware接口,會調用;setApplicationContext(ApplicationContext)方法,傳入Spring上下文,該方式同樣可以實現步驟4,但比4更好,以為ApplicationContext是BeanFactory的子接口,有更多的實現方法;
步驟6:如果這個Bean關聯了BeanPostProcessor接口,將會調用postProcessBeforeInitialization(Objectobj,Strings)方法,BeanPostProcessor經常被用作是Bean內容的更改,并且由于這個是在Bean初始化結束時調用After方法,也可用于內存或緩存技術;
步驟7:如果這個Bean在Spring配置文件中配置了init-method屬性會自動調用其配置的初始化方法;
步驟8.如果這個Bean關聯了BeanPostProcessor接口,將會調用postAfterInitialization方法。需要注意:以上工作完成以后就可以用這個Bean了,那這個Bean是一個single的,所以一般情況下我們調用同一個ID的Bean會是在內容地址相同的實例;
步驟9:當Bean不再需要時,會經過清理階段,如果Bean實現了DisposableBean接口,會調用其實現的destroy方法;
步驟10:最后,如果這個Bean的Spring配置中配置了destroy-method屬性,會自動調用其配置的銷毀方法。
以上就是動力節點java培訓機構的小編針對“Javase菜鳥教程,如何管理SpringBean的生命周期”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習