Какова основная цель интерфейса для Service и DAO в рамках Spring? - PullRequest
0 голосов
/ 05 октября 2018

Я новенький для весенних рамок.Я искал много сайтов для Spring MVC на Google, и я заметил, что создал интерфейс для каждой службы и дао, но у меня есть несколько запросов, как показано ниже:

1) Какова основная цель создания интерфейса для каждой службы идао?

2) Как должна быть структура проекта для весеннего мвс?

1 Ответ

0 голосов
/ 05 октября 2018
  1. Какова цель интерфейса

Краткий ответ: внедрение зависимостей

Длинный ответ: вы видите, мы не хотим конкретной реализации и сильной связи в нашем приложении,Интерфейсы служат этой цели, с или без Spring.Весна - это основа, которая активно использует это.С помощью интерфейса вы можете написать несколько реализаций одной логики, определив контракт (методы интерфейса), который описывает, что является параметром и типом возврата, но вы не указали, как это делается.Что дает вам большую гибкость в написании различных бинов Spring (классов Impl), которые делают это.List в Java - это интерфейс, тогда у вас есть реализации, такие как LinkedList и ArrayList

Как следует структурировать проект Spring MVC

Краткий ответ: в любом случае вам нравится

Длинный ответ: Используете ли вы Spring MVC в качестве сервера API или обслуживаете представления, такие как JSP / Thymeleaf?Если бы я писал API, у меня были бы контроллеры (специфичные для точки входа и пружины функции), фасады (бизнес-логика на чистом Java без классов каркаса) и DAO / Services (в зависимости от того, поступают ли данные из базы данных или стороннего API, возможно, оба) как минимум.Для MVC у меня были бы почти аналогичные настройки, но в зависимости от вашего соглашения с вашим провайдером API, я мог бы отказаться от уровня обслуживания и сосредоточиться больше на стороне Javascript.В наши дни я бы посоветовал не использовать JSP / Freemarker.Они намного медленнее в разработке, чем, скажем, сервер React + API на любом языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...