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

Spring实现了多种存储库接口

齐宗清
2023-03-14

我试图研究Spring更具体的Spring数据,但我对interface Repository及其派生类的使用有一个问题,我请求您帮助澄清这些问题。

@Repository
public interface GuestRepository extends CrudRepository<Guest, Long>, 
         {}

例如,我看到这个代码示例扩展CrudRepository,但我看到使用扩展关键字,但没有实现。为什么?我认为扩展是针对子类的,或者如果我使用抽象类和接口实现。

另一个问题是测试我尝试从两个类扩展的另一个案例(我知道java不允许多个),但java允许我这样做。

@Repository
 public interface GuestRepository extends CrudRepository<Guest, Long>, 
 PagingAndSortingRepository<Guest, Long> {}

我看到当我尝试使用ide向我展示的一些方法时,没有任何问题,我尝试执行,我将我请求的数据带给它

所以我有点困惑,当我谈论扩展java不允许从扩展到或更多的类,但在这种情况下,但CrudRepository和PagingAndSortingRepository是接口,所以它应该与实现关键字。

在另一篇文章中,我发现创建一个包含两种存储库的类是不可能的,但我找不到任何相关信息。

我很感激任何帮助,提前谢谢

共有1个答案

乜元魁
2023-03-14

接口CAN扩展其他接口,因此扩展GuestRepository是一个接口)

类实现接口,因此实现

您没有在这里实现任何东西,sice Spring AOP将根据方法名称为您执行“查询的实现”。这是一种Spring魔法,不是Java特有的。将其作为Java中OOP和多态性的示例或参考是相当糟糕的。

 类似资料:
  • 我正在尝试为一个简单的web应用程序创建一个存储库。似乎导入和使用导入组织。springframework。数据存储库。积垢会导致错误。我不确定如何开始调试收到的错误消息。 这是我的实体 这是我的存储库 这是我的控制器 还有我的pom.xml

  • 我想使用Spring LDAP 设置多个 LDAP 存储库。我的目标是同时在所有存储库中创建或更新对象。 我使用LdapRepository Spring接口,我认为目前这是不可能的。 我想知道我是否可以创建自己的LdapRepository来扩展Spring,但是我不知道如何开始。 这是我的配置: 完整地说,一个存储库: 知道怎么做吗? 提前感谢任何帮助。

  • 我得到一个错误,如:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“topic serviceimpl”的bean时出错:通过字段“topic generators”表示的未满足的依赖项;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionE

  • 我们已经为Dev、QA、Prod实例启用了spring分析,这些实例正在AWS EC2上运行。 我们有不同的属性文件,如: application-dev.properties application-qa.properties application-prod.properties 并且我们已经在这些文件中配置了数据源,如 spring.datasource.username=test spri

  • 我想使用SpringDataSolr在一个服务中访问多个/2个repo。从SpringDataSolr多核和存储库中,我知道“不幸的是,通过名称空间配置支持多核是一个开放的问题”。 你能帮我举个例子吗?我怎样才能创建自定义回购协议? 我的应用程序Context.xml有两个Solr模板定义如下: 我有以下回购协议 最后,服务如下所示: 有人能告诉我如何修改代码以实现SpringDataSolrWi

  • 我读到删除分离的实体将导致IllegalArgumentExcetpion,该实体应该被管理删除。但是,我使用的是spring JPA存储库接口,删除操作是对一个分离的实体进行的,我已经用我想要删除的ID创建了新的实体,我没有例外。在spring jpa中是否有文档说明我们可以删除分离的实体?我找不到正式文件。