我对spring mvc 3缓存有要求。要求是:在启动服务器时,我们需要调用数据库的一个下拉列表并将这些值放入缓存中。因此,无论何时我们需要这些值,我们都需要从缓存中检索。spring mvc 3缓存示例
请帮助我一个例子。
在此先感谢。
我对spring mvc 3缓存有要求。要求是:在启动服务器时,我们需要调用数据库的一个下拉列表并将这些值放入缓存中。因此,无论何时我们需要这些值,我们都需要从缓存中检索。spring mvc 3缓存示例
请帮助我一个例子。
在此先感谢。
也许你可以使用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();
}
}
我已经成功与Ehcahe for Spring。有几个配置文件需要设置,但在此之后,您只需标注要缓存输出的方法,并且它可以正常工作。
这样做的好处是您可以更改从服务/数据库返回的值,而不必重新启动您的应用程序,这与接受的答案不同。
你是对的,我们需要使用@PostConstruct,它将在服务器启动时调用。但是这个值不会出现在缓存中吗?如上述方法“methodxyz()”中所提到的,每当我们调用“cacheDBData.getValues();”时,数据库命中将会发生吗?我想把这些值放入缓存中。如果我错了,请纠正我。 – user1802047