天天看點

如何讓spring mvc web應用啟動時就執行特定處理

Asp.Net的應用中通過根目錄下的Global.asax,在Application_Start方法中做一些初始化操作,比如:預先加載緩存項對網站熱點資料進行預熱,擷取一些遠端的配置資訊等等。

Spring-MVC的應用中,要實作類似的功能,主要是通過實作下面這些接口(任選一,至少一個即可)

一、ApplicationContextAware接口

二、ServletContextAware 接口

三、InitializingBean 接口

四、ApplicationListener<ApplicationEvent> 接口

示例程式:

運作時,輸出的順序如下:

1 => StartupListener.setApplicationContext

2 => StartupListener.setServletContext

3 => StartupListener.afterPropertiesSet

4.1 => MyApplicationListener.onApplicationEvent

4.2 => MyApplicationListener.onApplicationEvent

注意:onApplicationEvent方法會觸發多次,初始化這種事情,越早越好,建議在setApplicationContext方法中處理。