Методы Crud на уровне обслуживания с использованием Spring Data JPA ⇐ JAVA
Методы Crud на уровне обслуживания с использованием Spring Data JPA
Я создаю небольшое приложение с использованием Spring и Spring Data JPA, и мне нужно использовать методы CrudRepository на уровне обслуживания, поэтому я создал 2 класса: GenericService и GenericServiceImpl. Но я не знаю, правильный ли это подход или даже лучший.
Вот пример:
ПОДЖО:
@Entity публичный класс пользователя { @Идентификатор частный длинный идентификатор; личное имя пользователя String; } ДАО:
публичный интерфейс UserDAO расширяет CrudRepository { Пользователь findOneByUsername (строковое имя пользователя); } Общая услуга
публичный интерфейс GenericService { S save(Sentity); } Сервис
публичный интерфейс UserService расширяет GenericService { Пользователь findOneByUsername (строковое имя пользователя); } Общая реализация службы
публичный класс GenericServiceImpl реализует GenericService { @Autowired частный репозиторий CrudRepository; @Override public S save(Sentity) { вернуть репозиторий.сохранить(сущность); } } Реализация службы
@Service @Транзакционный публичный класс UserServiceImpl расширяет GenericServiceImpl реализует UserService { @Autowired частный UserDAO userDAO; @Override общественный пользователь findOneByUsername (имя пользователя String) { userDAO.findOneByUsername(имя пользователя); } }
Я создаю небольшое приложение с использованием Spring и Spring Data JPA, и мне нужно использовать методы CrudRepository на уровне обслуживания, поэтому я создал 2 класса: GenericService и GenericServiceImpl. Но я не знаю, правильный ли это подход или даже лучший.
Вот пример:
ПОДЖО:
@Entity публичный класс пользователя { @Идентификатор частный длинный идентификатор; личное имя пользователя String; } ДАО:
публичный интерфейс UserDAO расширяет CrudRepository { Пользователь findOneByUsername (строковое имя пользователя); } Общая услуга
публичный интерфейс GenericService { S save(Sentity); } Сервис
публичный интерфейс UserService расширяет GenericService { Пользователь findOneByUsername (строковое имя пользователя); } Общая реализация службы
публичный класс GenericServiceImpl реализует GenericService { @Autowired частный репозиторий CrudRepository; @Override public S save(Sentity) { вернуть репозиторий.сохранить(сущность); } } Реализация службы
@Service @Транзакционный публичный класс UserServiceImpl расширяет GenericServiceImpl реализует UserService { @Autowired частный UserDAO userDAO; @Override общественный пользователь findOneByUsername (имя пользователя String) { userDAO.findOneByUsername(имя пользователя); } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение