如何在Spring初始化的初始化初始化Spring bean?

时间:2017-03-17 12:42:30

标签: java spring initialization

我想在我的Spring Boot应用程序flywaydb中使用,以便在初始化时从 alter files更新/初始化数据库。处理Flywaydb的Java代码应该在创建Spring SQL之后执行(Flywaydb需要datasource)但是在应用程序bean初始化之前。我知道javax.sql.DataSource注释芽,我不想避免在所有应用程序bean上设置它。

有没有办法按指定的顺序初始化特定的bean?

2 个答案:

答案 0 :(得分:2)

不要做任何特别的事情。 Spring Boot有support for Flyway out-of-the-box。只需3个步骤

  1. Flyway添加为依赖项
  2. 将迁移脚本放在src/main/resources/db/migration
  3. 启动您的申请
  4. 您无需添加注释,创建bean或使用回调。 Spring Team已经想到了这一点。

答案 1 :(得分:0)

如果你希望在应用程序准备启动时只发生一次bean回调,那么所有的bean都准备就绪,并且在刷新上下文时不会再次调用,那么一个好的Spring Boot配方就是使用{{1}像这样:

ApplicationReadyEvent
相关问题