2017-02-01 5 views
1

Возможно ли вставить родовое весеннее ботинок, как показано ниже?Зависимость Впрыскивание к дженерикам Весна

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

С Spring 4.0 вы можете использовать generics, он автоматически рассмотрит дженерики как форму @Qualifier. Ссылка - https://spring.io/blog/2013/12/03/spring-framework-4-0-and-java-generics

+0

Я думаю, что нет никаких проблем с дженериками в моем коде, это скорее проблема с репозиториями. JpaRepository или ElasticsearchRepository не позволяет им нуждаться в конкретном типе, я не знаю, почему – roki