记一次项目集成flywaydb,启动加载顺序问题导致flywaydb初始化表失败

本人遇到的情况是,项目启动时一个task类先于flywaydb执行,该task类执行时需要查询数据库,这就导致该定时任务类无法查询到定时任务执行记录表

解决方法:

@DependsOn("flywayInitializer")
@Component
public class Task {
  ......业务逻辑  
}

1、@DependsOn注解可以定义在类和方法上,意思是该组件要依赖于另一个组件,使用该注解被依赖的组件会比该组件先注册到IOC容器中。

2、flywaydb的加载是由“flywayInitializer”这个bean来负责的

 

posted @ 2024-09-25 23:41  xing柠檬  阅读(18)  评论(0编辑  收藏  举报