记一次项目集成flywaydb,启动加载顺序问题导致flywaydb初始化表失败
本人遇到的情况是,项目启动时一个task类先于flywaydb执行,该task类执行时需要查询数据库,这就导致该定时任务类无法查询到定时任务执行记录表
解决方法:
@DependsOn("flywayInitializer") @Component public class Task { ......业务逻辑 }
1、@DependsOn注解可以定义在类和方法上,意思是该组件要依赖于另一个组件,使用该注解被依赖的组件会比该组件先注册到IOC容器中。
2、flywaydb的加载是由“flywayInitializer”这个bean来负责的