У меня есть некоторая структура данных для ее инициализации. Мне нужно сделать запрос к базе данных, а затем вызвать объект, который подготовит данные для структуры данных, и только затем инициализировать их. Как я могу сделать это до запуска приложения 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();
}
...
}