2009-11-19 51 views
4

我想創建一個擁有start()stop()方法的bean。 當webapp的上下文處於活動狀態時,在Spring的運行時啓動過程中調用start()。當webapp被部署或停止時,調用stop()方法。如何將Spring Bean的生命週期與webapps的生命週期聯繫起來?

這是正確的:我註釋我的start()方法與@PostConstructstop()方法與@PreDestroy

通常在servlet世界中,我寫了一個ServletContextListener。 我能夠從ServletContextListener訪問ApplicationContext嗎?

回答

8

您可以按照您的描述註釋您的start()stop()方法,也可以告訴Spring明確調用它們,例如,

<bean class="MyClass" init-method="start" destroy-method="stop"/> 

至於ServletContextListener,它不會輕鬆訪問Spring上下文。最好使用Spring自己的生命週期來進行bean初始化。

10