如何防止Spring创建一个只是为了扩展的“抽象”泛型类型存储库?

pir*_*rho 0 java spring repository spring-boot

如果我想做这样的事情:

public interface LongIdRepo<T> extends PagingAndSortingRepository<T, Long> {}
Run Code Online (Sandbox Code Playgroud)

因为我想将其扩展为:

public interface MyRepo extends LongIdRepo<My> {}
Run Code Online (Sandbox Code Playgroud)

这是不可能的,因为:

org.springframework.beans.factory.BeanCreationException:创建名称为“longIdRepo”的bean时出错:调用init方法失败;嵌套异常是 java.lang.IllegalArgumentException:不是托管类型:class java.lang.Object

有没有办法让Spring忽略LongIdRepo bean的创建?

小智 5

试试这个@NoRepositoryBean注释

@NoRepositoryBean
public interface LongIdRepo<T> extends PagingAndSortingRepository<T, Long> {}
Run Code Online (Sandbox Code Playgroud)