簡體   English   中英

Liquibase 是否在 Spring Boot 應用程序中注冊所有 bean 之前運行?

[英]Does Liquibase runs before registering all the beans in spring boot application?

我已將 Liquibase 與 Spring Boot 應用程序集成。 我的一個困惑是 - Liquibase 在注冊所有 bean 之前是否運行。 如果我們想在 bean 聲明方法中從 DB 獲取一些屬性,並且該屬性是由 Liquibase 執行的 sql 腳本編寫的。 那么,這兩件事中的哪一件會先發生呢?

我確實知道 liquibase 會自動集成到 Spring Boot 應用程序的啟動中,即它每次都運行,應用程序運行。 但是,它是否在加載同一應用程序的其他 bean 之前加載?

我的 liquibase 依賴項:

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

那么,這兩件事中的哪一件會先發生呢?

  1. Liquibase 運行它的腳本。
  2. Spring-Boot 初始化您的 bean。

因此,您應該能夠在 bean 初始化期間從數據庫中獲取數據(Liquibase 剛剛插入的數據)。

但是正如評論中所建議的那樣,您應該自己嘗試並將日志添加到您的 bean 初始化方法中。 這將使您更好地了解 Spring-Boot 應用程序的啟動過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM