我不会将自定义存储库实现与域软件包分开。而且,可能是一些常见的接口。例如,我想要像

  com
       domain
            Foo
            FooRepository
       common
            Bar
       persistence
            BarImpl

interface FooRepository extends Bar{}

<jpa:repositories base-package="com.domain" /> // smt else?

我应该如何配置?

有帮助吗?

解决方案

存储库类的自动拾取仅当您将其放在非常相同的软件包中并使用默认的后缀或定义后缀以手动使用时才能有效。因此,在您的情况下,您必须放置一个 FooRepositoryImpl 进入 domain 包裹。您可以使用 repository-impl-postfix 属性。如果您想将实现放入另一个软件包中,则可以使用 fooRepositoryImpl 作为豆ID。然后,课程可以驻留在您想要的任何软件包中。

我认为 Bar 是包含自定义方法声明的接口。实际上,我们建议将自定义存储库接口和实现同时放入相同的软件包中,并使其受到保护,以避免单独使用它。这样,所有客户实际上看到的都是包含查询方法和手动实现的统一存储库接口。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top