我已经将Liquibase与我的spring-Boot应用程序集成在一起。我有一个困惑是——Liquibase在注册所有bean之前是否运行。如果我们想在bean声明方法中从DB中获取一些属性,并且该属性是由将由Liquibase执行的sql脚本编写的。那么,这两件事中哪一件会先发生呢?
我知道likibase会自动集成到spring启动应用程序的启动中,也就是说,它每次都会运行,应用程序也会运行。但是,它是在加载同一应用程序的其他bean之前加载的吗?
我对利口酒的依赖:
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.8.2</version>
</dependency>
那么,这两件事中的哪一件会首先发生?
- Liquibase运行它的脚本
- Spring Boot初始化您的bean
所以您应该能够在bean初始化期间从数据库中获取数据(Liquibase刚刚插入(。
但正如评论中所建议的,您应该自己尝试,并将日志添加到您的bean初始化方法中。这将使您更好地了解Spring Boot应用程序的启动过程。