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

为什么liquibaseAutoConfiguration向entityManagerFactory注册依赖关系

常英毅
2023-03-14

我们刚刚升级到的新版本的Spring Boot和liquibase自动配置给我们带来了一些问题,它失败了,因为它正在寻找一个不存在的liquibase文件来加载,我们过去已经使用我们自己编写的运行程序完成了liquibase配置,这些运行程序使用了不同的结构。

无论如何,有一些潜在的修复方法,其中之一是简单地禁用liquibaseAutoConfiguration类的运行。我不认为我们需要 bean,但我有点不确定向 entityManager 添加依赖项的原因,这让我想知道它是否在做我们确实需要的事情。这是源的链接

我试图理解为什么LiquibaseJpaDependencyConfiguration类存在。为什么entityManagerFactory需要依赖liquibase bean?我认为entityManager不会知道liquibase?

共有1个答案

楚嘉
2023-03-14

实体管理器工厂并不特别关心Liquibase,但它确实关心数据库是否已完全初始化。Liquibase Jpa屡试不爽配置设置的依赖项确保了这一点,因为它强制Liquibase在创建实体管理器工厂之前运行。

 类似资料:
  • 问题内容: 已经发布了几个问题,其中包括有关依赖项注入的特定问题,例如何时使用它以及支持它的框架。然而, 什么是依赖项注入?何时/为什么/不应该使用它? 问题答案: 依赖注入 将依赖传递给其他 对象 或 框架 (依赖注入器)。 依赖注入使测试更加容易。注入可以通过 构造函数 完成。 其构造函数如下: 问题 :如果涉及复杂的任务,例如磁盘访问或网络访问,则 很难 对其进行单元测试。程序员必须进行模拟

  • 我不太明白它解决了什么问题。它看起来像是这样说:“Hi.当你运行到这个函数时,返回一个对象,它是这种类型的,并且使用这些参数/数据。” 但是...我为什么要用这个?注我也从来不需要使用,但我理解这是为了什么。 在构建一个网站或桌面应用程序时,有哪些实际情况可以使用DI?我可以很容易地想出为什么有人想在游戏中使用接口/虚拟函数的例子,但是在非游戏代码中使用这种方法是极其罕见的(非常罕见,以至于我都记

  • 考虑下面的代码: 上面的代码是一个表示一个汉堡包类。 该类假设汉堡包括Bun, Patty 和 Toppings。 该类还负责制作Bun, Patty 和 Toppings。 这是一件坏事。 如果需要素食汉堡怎么办? 一个天真的方法可能是: 好吧,这有点不同,它在某些方面更灵活,但它仍然相当脆弱。 如果Patty构造函数改变以允许新的功能会发生什么? 整个汉堡包类必须更新。 事实上,任何时候任何这

  • 我定义了一个限定符来指定我想要注入的bean子类。当限定符在注入点没有指定参数时,一切都按预期工作。当我在注入点指定属性和值时,我会得到一个CDI不满足依赖项错误。我正在部署Glassfish 4.0。此外,在注入的bean上使用无界面视图,但我认为这在这种情况下并不重要。 限定符的目的是获得一个特定于Postgres的子类(使用各种不同的数据库来比较任何行为差异)。该参数用于指定Postgres

  • 我有一个多模块Maven项目,其中父pom如下 Spring模块pom是(没有提到任何版本): SpringBootLocalstack模块pom是: 对于Spring模块,当我从IntelliJ重新加载所有maven项目时,它成功地解决了所有依赖项,但对于SpringBootLocalstack,如果我从pom文件中删除“version”标签,它就无法解决,例如: 我得到了: 无法解析com.a

  • 在学习gradle时,我似乎是Java的构建工具。但我不明白依赖到底是什么。Gradle中的依赖项部分到底是什么意思?它有什么用途?