2015-08-29 3 views
0

Использует ли @EnableJpaRepositories или jpa:repositories (на xml) разработчик не должен использовать тег весны @Repository? Поскольку в большинстве примеров приведен пример руководства Spring, они не используют тег @Repository больше на своих интерфейсах, который расширяет интерфейс JpaRepository или CrudRepository Spring Data.jpa: репозитории/@EnableJpaRepositories vs @Repository - spring

Я попытался использовать их вместе, но Intellij предупреждает меня, что он не может авторизовать мой репозиторий, потому что существует более одного компонента. Я попытался удалить jpa: репозитории в моем XML-файле, но возникла ошибка, что приложение не может создать компонент для моего менеджера объектов.

ответ

0

Это две разные вещи. @Repository аннотаций намного старше, чем Spring Data и используется, чтобы сообщить Spring перевести все исключения, брошенные @Repository аннотированных компонентов DataAccessException (более читать здесь: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Repository.html)

В SpringData у вас есть @EnableJpaRepositories + весь основной процесс сканирования и механизм создания бинарного хранилища, и нет необходимости отмечать интерфейсы репозитория (или пользовательские классы) с помощью @Repository.

Смежные вопросы