在春季启动应用程序中注册所有bean之前,Liquibase是否运行?

时间:2020-02-18 06:49:09

标签: java spring spring-boot database-migration liquibase

我已将Liquibase与我的spring Boot应用程序集成在一起。我有一个困惑是-Liquibase是否在注册所有bean之前运行。如果我们想通过bean声明方法从数据库中获取某些属性,并且该属性由将由Liquibase执行的sql脚本编写。那么,这两件事中的哪一个首先发生?

我确实知道liquibase会自动集成到spring boot应用程序的启动中,即它每次运行时都会运行。但是,在加载同一应用程序的其他bean之前是否先加载了它?

我的liquibase依赖项:

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

1 个答案:

答案 0 :(得分:3)

那么,首先要发生的两件事是什么?

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

因此,您应该能够在bean初始化期间从数据库获取数据(Liquibase刚刚插入的数据)。

但是,正如注释中所建议的那样,您应该自己尝试一下并将日志添加到bean初始化方法中。这将使您更好地了解Spring-Boot应用程序的启动过程。