Работает ли Liquibase до регистрации всех компонентов в приложении весенней загрузки? - PullRequest
1 голос
/ 18 февраля 2020

Я интегрировал Liquibase с моим приложением Spring Boot. Единственное недоразумение, которое у меня возникает, заключается в том, запускается ли Liquibase до регистрации всех бинов. Если мы хотим извлечь какое-либо свойство из БД в методе объявления бина, и это свойство записывается скриптом sql, который будет выполняться Liquibase. Итак, что из двух вещей произойдет первым?

Я знаю, что liquibase автоматически интегрируется с запуском приложения весенней загрузки, т. Е. Запускается каждый раз, когда приложение запускается. Но загружается ли он перед загрузкой других компонентов того же приложения?

Моя зависимость от ликвидазы:

<dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <version>3.8.2</version>
</dependency>

1 Ответ

2 голосов
/ 18 февраля 2020

Итак, что из двух будет происходить первым?

  1. Liquibase запускает свои скрипты.
  2. Spring-Boot инициализирует ваши бины.

Таким образом, вы должны иметь возможность получать данные (которые Liquibase только что вставил) из базы данных во время инициализации компонента.

Но, как было предложено в комментариях, вы должны попробовать это сами и добавить журналы в ваши методы инициализации бина. Это поможет вам лучше понять процесс запуска приложений Spring-Boot.

...