Реализация базового репозитория Spring не влияет на унаследованные интерфейсы - PullRequest
0 голосов
/ 22 мая 2019

Я хочу создать базовый универсальный интерфейс репозитория, а затем, реализуя этот интерфейс с помощью класса, я хотел бы, чтобы другие интерфейсы, в которых реализован базовый интерфейс, работали с реализованным классом

. Вот базовый интерфейс:

@NoRepositoryBean
public interface Base<T>{
T getFoo();
}

вот класс, реализующий базовый репозиторий:

public class BaseImple<T> implements Base<T>{
public T getFoo(){
//do some stuff
return t;
}
}

вот первый репозиторий:

@Repository
public interface A extends Base<FOO>{
}

вот второй репозиторий:

@Repository
public interface B extends Base<BAR>{
}

но когда я автоматически подключаю интерфейс B, я получаю ошибку:

no qualifying bean of type B

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

По сути, вы создаете только интерфейсы, создание которых невозможно. Spring не может найти объект / бин для этого репозитория, поэтому постарайтесь, чтобы в вашем интерфейсе был класс реализации, расширяющий ваш репозиторий, как показано @hmaz, или CrudRepository или JpaRepository для Spring, чтобы обеспечить реализацию.

0 голосов
/ 22 мая 2019
public interface Base<T>{
T getFoo();
}
@Repository
public class BaseImple<T> implements Base<T>{
public T getFoo(){
//do some stuff
return t;
   }
}

public interface A extends Base<FOO>{
}
public interface B extends Base<BAR>{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...