我需要 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上取得了成功。有几个配置文件需要设置,但之后您只需注释要缓存输出的方法,它就可以工作。
这样做的好处是您可以更改从服务/数据库返回的值,而不必重新启动您的应用程序,这与接受的答案不同。