2012-11-07 121 views
0

我對spring mvc 3緩存有要求。要求是:在啓動服務器時,我們需要調用數據庫的一個下拉列表並將這些值放入緩存中。因此,無論何時我們需要這些值,我們都需要從緩存中檢索。spring mvc 3緩存示例

請幫助我一個例子。

在此先感謝。

回答

1

也許你可以使用init-method(Spring 2.5)或@PostConstruct註解(在Spring 3.0中)。 此方法將服務器中被稱爲啓動 以下是代碼片段

@Component 
public class CacheDBData { 

private String values[]; 
//add setter & getter 

//This will be called during server start up after properties are initialised 
@PostConstruct 
public void getDataFromDB() { 
values = //Logic to get data from DB and store that in values property 
} 
} 

假設,例如,你可以在課堂上使用如下

@controller 
public class HomeController { 
@Autowired 
private CacheDBData cacheDBData ; 
//getter and setters 
private void methodxyz() { 
String values[] = cacheDBData.getValues(); 
} 
} 
+0

你是對的,我們需要使用@PostConstruct,它將在服務器啓動時調用。但是這個值不會出現在緩存中嗎?如上述方法「methodxyz()」中所提到的,每當我們調用「cacheDBData.getValues();」時,數據庫命中將會發生嗎?我想把這些值放入緩存中。如果我錯了,請糾正我。 – user1802047

0

我已經成功與Ehcahe for Spring。有幾個配置文件需要設置,但在此之後,您只需標註要緩存輸出的方法,並且它可以正常工作。

這樣做的好處是您可以更改從服務/數據庫返回的值,而不必重新啓動您的應用程序,這與接受的答案不同。