我有一个用于初始化它的数据结构,我需要向数据库发出请求,然后调用将为数据结构准备数据的对象,然后才对其进行初始化。在启动 spring-mvc 应用程序之前我该怎么做?
我正在尝试使用 @PostConstruct 和 @EventListener(ApplicationReadyEvent.class) 等注释,但它们是随 spring 应用程序启动的,目前数据结构尚未初始化。
有代码示例:
public class DataStructure{
Collection data = new Collection();//some kind of collection
@PostConstruct
public void initDS(){
DataFromDataBase data = ...;
SomeObjectThatPrepareData obj = new SomeObjectThatPrepareData(data);
Collection preparedData = obj.prepareData();
preparedData.forEach(DataStructure::addData);
}
private void addData(Data data){ ... }
...
}
public class ClassThatUseDataStucture{
private static DataStructure readyData;
static{
readyData = new DataStructure();
readyData.initDS();
}
...
}
当年话下
相关分类