是否有可能在弹簧启动中注入泛型,如下所示?
public interface A <T> extends ElasticsearchRepository<T, Long> {
}
public class B {
@Autowired
private A<Object> a;
}
以下代码提供此错误
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genericElasticRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Unable to obtain mapping metadata for class java.lang.Object!
是否有通用的替代品?我不想为所有类型的T
编写接口提前致谢
更新
我的代码中的泛型没有任何问题我想这是存储库与具体类有关。 JpaRepository或ElasticsearchRepository不允许传递泛型,他们需要具体类型我不知道为什么
答案 0 :(得分:0)
使用Spring 4.0,您可以使用泛型,它会自动将泛型视为@Qualifier的一种形式。 参考 - https://spring.io/blog/2013/12/03/spring-framework-4-0-and-java-generics