我需要一个Generic存储库,以便在必要时扩展和实现特定的行为。例如,我将使用CrudRepository的一半方法,但如果我从这个存储库扩展,我将暴露其他不必要的方法。最好使用自定义存储库而不是使用Spring数据存储库(CrudRepository,PagingAndSortingRepository)?如何暴露不必要的方法?
答案 0 :(得分:-1)
interface MySpringRepoType
public class RepoImpl extends SpringRepository implements MySpringRepoType
。
如果访问原始类型RepoImpl
,您将可以访问所有不需要的SpringRepository,但是如果访问接口类型MySpringRepoType
,那么只有接口定义的函数应该是对来电者可见。这将允许您“隐藏”您不希望有人看到的任何Spring功能。