Spring Boot - лучший способ читать данные из базы данных при запуске

Я хочу читать данные в список или карту из базы данных при запуске. Как лучше всего это сделать? Версия 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;
  }

} 

Я бы хотел хранить данные в статическом классе, но сомневаюсь, что это лучшее решение.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
1
0
887
2

Ответы 2

Я не совсем понимаю, каков ваш мотив, но для этого вы можете создать bean-компонент, используя @Component, и в этом bean-компоненте создать метод с аннотацией @PostConstruct. в этом методе вы можете делать все, что захотите.

Тогда я смогу сохранить карту этого боба и получить ее в других местах?

Bartosz20188 03.11.2018 12:57

Нет, вы можете заполнить статическую карту в этом компоненте и использовать эту карту в других местах.

ksadjad 03.11.2018 13:02

Использование интерфейса ApplicationRunner - лучший способ запустить код после загрузки контекста загрузки Spring.

@Component
public class ApplicationStartup implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {

    }
} 

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-spring-application.html#boot-features-command-line-runner

Другие вопросы по теме