Должен ли я создать несколько услуг (используя стереотип Spring `@ Service`) для выполнения поиска базы данных для разных контроллеров?
-
01-10-2019 - |
Вопрос
Я не уверен, где делать поиск базы данных для весенних контроллеров.
Похоже, имеет смысл использовать весну @Service
Стереотип и создайте несколько «сервисов», чтобы обеспечить поддержку поиска контроллеров, а не делать поиск непосредственно в контроллерах.
Это правильно или есть еще более подходящее место для выполнения поиска базы данных?
Решение
Я не думаю, что контроллеры должны делать поиск базы данных. Если вы бросите свой веб-уровень, функциональность поиска уходит.
Я бы поставил тех, кто за слоем интерфейсов репозитория. Вы можете проверить их без веб-яруса таким образом. Также может быть отдельный сервисный слой, который принадлежит единицам работ и транзакций. Следует быть только для чтения, поэтому они могут быть достаточно безопасны, чтобы позвонить непосредственно от контроллеров.
Это рекомендуется весенняя идиома.