2012-11-07 77 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。有几个配置文件需要设置,但在此之后,您只需标注要缓存输出的方法,并且它可以正常工作。

这样做的好处是您可以更改从服务/数据库返回的值,而不必重新启动您的应用程序,这与接受的答案不同。