2015-01-13 79 views
0

我做了一些邏輯,使數據庫實例和創建架構和表運行。 這些邏輯包含在Web應用程序文件(war)中。如果我把戰爭放到一個特定的容器中,然後啓動servlet容器來加載Web應用程序上下文,我希望在沒有創建實例時運行這個邏輯。我怎樣才能做到這一點?請給一些複雜的解釋..關於加載spring beans,如何捕獲最初加載的bean?

在此先感謝:)

回答

1

利用ServletContainerInitializer.onStartUp如果你是的Servlet 3.X或使用ServletContextListener.contextInitialized如果Servlet的2.X

在相應方法的實現中,調用您希望在之前執行的自定義設置,以初始化/啓動Web應用程序。

有關示例代碼,請參閱here

+0

感謝您的提示。但就我而言,我使用gretty gradle插件來製作war文件並扮演servlet容器的角色。我確認了在war中有實現類的META-INF/services/javax.servlet.ServletContainerInitializer。但是servlet容器沒有註冊ServletContainerInitialzer。 – verystrongjoe