Организация проекта Spring-mvc с множеством вложенных приложений - PullRequest
1 голос
/ 17 февраля 2011

Я начинаю с проекта в Spring-mvc, который в основном состоит из 3 частей

1) Фронтенд

2) Backend (admin)

3) Веб-сервис

Каков наилучший способ организовать эти части так, чтобы я мог повторно использовать объекты слоя домена и DAO, где бы я ни находился, и в то же время хранить пакеты отдельно (чтобы избежать имен классов, таких как FrontendCategoryController и BackendCategoryController в одном и том же пакет)?

Также было бы неплохо иметь общий конфиг и файл pom.xml для всех этих частей?

На данный момент я начал со структуры проекта, сгенерированной maven в соответствии с архетипом webapp

Редактировать:

Один из способов думать об этом -

myapp
  -- src
      -- main
           --java
           --resources
      -- backend
           --java
           -- resources
      -- webservice
           -- java 
           -- resources

во всех каталогах java имена пакетов будут одинаковыми

Правильный ли это подход

Спасибо

1 Ответ

4 голосов
/ 17 февраля 2011

Прежде всего, изображенный подход, который неправильно использует структуру каталогов Maven, выглядит очень плохо.

Вы говорите, что хотите избежать длинных имен классов, таких как FrontendCategoryController и BackendCategoryController.Похоже, ваш дизайн нарушает правило "Пакет по элементам, а не слоям" .Вы можете создавать отдельные пакеты для своих подприложений, чтобы длинные имена классов не требовались.Общие классы, используемые всеми подприложениями, могут быть помещены в еще один пакет.

Альтернативным подходом было бы создание отдельных проектов Maven для разных подприложений, но, похоже, вы этого не хотите.

...