Я хочу читать данные в список или карту из базы данных при запуске. Как лучше всего это сделать? Версия Spring Boot - 5.
Правильно ли приведенное ниже решение?
@Component
public class ApplicationStartup
implements ApplicationListener<ApplicationReadyEvent> {
/**
* This event is executed as late as conceivably possible to indicate that
* the application is ready to service requests.
*/
@Override
public void onApplicationEvent(final ApplicationReadyEvent event) {
// here your code ...
return;
}
}
Я бы хотел хранить данные в статическом классе, но сомневаюсь, что это лучшее решение.




Я не совсем понимаю, каков ваш мотив, но для этого вы можете создать bean-компонент, используя @Component, и в этом bean-компоненте создать метод с аннотацией @PostConstruct. в этом методе вы можете делать все, что захотите.
Нет, вы можете заполнить статическую карту в этом компоненте и использовать эту карту в других местах.
Использование интерфейса ApplicationRunner - лучший способ запустить код после загрузки контекста загрузки Spring.
@Component
public class ApplicationStartup implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
}
}
Тогда я смогу сохранить карту этого боба и получить ее в других местах?