当前位置: 首页 > 知识库问答 >
问题:

考虑定义“org.flywaydb.core.Flyway”类型的bean

许阿苏
2023-03-14

我有一个Spring Boot项目,其中Flyway与JPA一起使用。

<dependency>
  <groupId>org.flywaydb</groupId>
  <artifactId>flyway-core</artifactId>
</dependency>

该项目运行完全正常。由于一些要求,我不得不改变Flyway加载的顺序,以便在Hibernate后加载。我搜索并找到了以下解决方案 https://stackoverflow.com/a/44806540/1361888。我按照上述链接中的答案创建了迁移配置。现在,当我运行该应用程序时,它会给我以下错误,

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method flywayInitializer in 
com.x2iq.microservice.config.MigrationConfiguration required a bean of type 
'org.flywaydb.core.Flyway' that could not be found.


Action:

Consider defining a bean of type 'org.flywaydb.core.Flyway' in your 
configuration.

现在我对Spring Boot相当陌生,因此无法理解此错误,并且在网上找不到与此错误相关的任何内容。

共有2个答案

邵逸明
2023-03-14

请参考下面的链接:

给定了飞轮的Spring配置。

https://flywaydb.org/documentation/api/

我的项目中的示例:

<bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
    <property name="baselineOnMigrate" value="true" />
    <property name="locations" value="classpath:db/migration" />
    <property name="dataSource" ref="dataSource" />
</bean>

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${db.driver}"/>
    <property name="url" value="${db.url}"/>
    <property name="username" value="${db.username}"/>
    <property name="password" value="${db.password}"/>
</bean>
单勇
2023-03-14

在< code>@Configuration类中,您可能希望向容器公开一个Flyway Bean。类似这样的东西应该可以达到目的:

@Configuration 
public class MigrationConfiguration {

    @Bean
    public Flyway flyway(){
        return new Flyway();
    }
}
 类似资料:
  • 我对整个Spring的生态系统都是陌生的。我一直在学习一些教程,能够创建一个Spring Boot应用程序并执行crud操作。然后我开始把这个项目改成mybatis的标准。 我已经尝试了许多其他类似问题的答案,但到目前为止没有一个是有效的。 下面是问题陈述: 实现类实现为: 我的Mapper类如下所示: 我的Mapper.xml课是: 最后是我的控制器类: 我得到的错误是: 描述: com.cru

  • 我试图在Spring Boot中创建一个简单的REST服务。在我使用CrudRepository之前,一切都很好。现在我得到了这个错误- ***应用程序启动失败 描述: 公司中的现场er。Spring靴。io。受雇者EmployeeService需要“company”类型的bean。Spring靴。io。受雇者找不到EmployeeRepo“”。 措施: 考虑定义一个“company”类型的bea

  • 我正在做SpringBoot项目,并遵循一些测试SpringBoot的说明。 当我尝试将mysql DB与项目连接时,服务找不到映射器。 我不知道为什么它找不到映射器... 这是服务代码和 这是映射程序代码 下面的错误是 我将发布我的包裹设置的图片。。。

  • 主存储库文件 ==================================自定义存储库 ============================================ 定制回购方法的实现 ===================================================== 服务等级 在myRepository上遇到异常请考虑定义一个myRepository类

  • 应用程序启动失败 考虑在您的配置中定义一个类型为'com.service.adminService'的bean。