gpt4 book ai didi

java - 有什么方法可以覆盖 spring data jpa 存储库的 bean 定义吗?

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:44 25 4
gpt4 key购买 nike

我们有一个示例应用程序,展示了我们在客户端所做的一些事情。它引入了一些内部库来使所有功能正常运行。它在一些硬编码数据中进行虚拟,因此不必关心任何类型的持久性机制。

在其中一些拉入的库中,有 spring data jpa 存储库。像这样的事情:

public interface MyLibraryEntityRepository extends JpaRepository<MyLibraryEntity, Long>
{
//...
}

当服务器启动时,我收到如下错误:

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myLibraryEntityRepository': Cannot create inner bean '(inner bean)#788f64f1' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#788f64f1': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' is defined

它找不到entityManager,但我不想必须使用entityManager。因此,为了尝试覆盖 myLibraryEntityRepository bean,我将以下内容添加到我的 Java 配置中:

@Bean
public MyLibraryEntityRepository getMyLibraryEntityRepository()
{
return myDummyImpl();
}

但是,这会导致相同的错误。

有什么方法可以覆盖 spring data jpa 存储库的 bean 定义,以便我可以使用自己的虚拟实现,而不必在我的应用程序中配置 entityManager

最佳答案

您可以使用@Bean(name="dummyBean")并在@Autowired中使用注释@Qualifier("dummyBean")

关于java - 有什么方法可以覆盖 spring data jpa 存储库的 bean 定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com