Я не думаю, что есть один ответ на этот вопрос, но вот мой.
Для простого проекта без строгих требований к модульности я бы использовал один проект.
Для самого макета проекта я следую стандартной директории Maven .Для веб-приложения это обычно означает что-то вроде этого:
.
└── src
├── main
│ ├── java - Application/Library sources
│ ├── resources - Application/Library resources
│ └── webapp - Web application sources
│ └── WEB-INF
└── test
├── java - Test sources
└── resources - Test resources
И я бы использовал соглашения о присвоении имен в java для организации классов из различных уровней:
com.acme.<app>.<module>.web.action
для распорокдействия com.acme.<app>.<module>.web.forms
: для компонентов формы bean com.acme.<app>.<module>.service
: для интерфейсов и реализаций бизнес-сервисов com.acme.<app>.<module>.bo
: для бизнес-объектов com.acme.<app>.<module>.dao
: для интерфейсов DAO com.acme.<app>.<module>.dao.hib
: для реализаций DAO в Hibernate
Но для небольшого приложения я бы просто пропустил функциональное подразделение <module>
.
Смежные вопросы