2012-12-13 64 views
0

我是Spring新手用戶。Spring中的內存結構

我有一個數據庫表,它本質上是靜態的,只包含幾條記錄。我想要一個包含此表的兩列的Map-like結構(id-name)。此Web應用程序必須在Web應用程序啓動時加載/初始化,並且必須適用於整個應用程序的上下文中,與用戶會話無關,且必須是隻讀的。這樣,我可以節省大量的數據庫查詢,因爲不同的操作只需從該地圖讀取。

雖然我知道Java EE的ServletContextListener等,但我不知道如何在Spring中實現它。 Spring服務bean是否是初始化和存儲這種Map的正確位置/方法?

請大家指導一下。

回答

3

你可以創建一個常規的spring bean,暴露一個方法,該方法從數據庫加載你需要的數據並將其存儲在你的地圖中。用@PostConstruct註解這個方法,spring將確保在你的應用程序上下文開始時調用它,因此加載你的地圖。

你可以用彈簧的JdbcTemplate這種方法中加載數據

Spring PostConstruct doco的信息,在@PostConstruct註釋

JdbcTemplate doco的信息,JdbcTemplate的

+0

這將符合我的目的,謝謝! –

0

您可以在Spring XML configuration中配置列表,集合和映射。在這裏看到更多的例子。

+0

我讀了這部分,但我不不知道如何配置從數據庫填充地圖,即將執行一個查詢將獲取2列,這將形成地圖的鍵值對 –