2015-12-20 2 views
0

Окружающая среда:Spring Архитектура приложений Дизайн

Spring 4

Hibernate 4

MySQL

Spring MVC REST

Издание:

Я пишу SIMPL e REST для приложений CRUD.

архитектуре/компонентов ниже:

enter image description here

У меня есть ниже вопросы проектирования:

1. Весной применения, лучшая практика, чтобы иметь две отдельные контексты -

i)applicationContext: инициатор alised через ContextLoaderListener (для ABD daoLayerClasses службы будут)

II)webApplicationContext: инициализируется через сервлет помощник, (для контроллеров/вида резольверы)

2. Однако я не видел ни одного образца Spring REST используя ОБО СОДЕРЖАНИЕ выше. Используется только диспетчерский сервлет.

3. Итак, создадим ли два отдельных контекста для приложения на основе REST, как показано в приведенной выше архитектуре, будет излишним и ненужным?

Или лучше создать два контекста, разделяющий слой SPRING покоиться в WebApplicationContext (@RestController) и ApplicationContext содержащего (@Services, @Repository)

+0

Это также может помочь объяснить, почему используются 2 контекста: http://stackoverflow.com/questions/18682486/why-does-spring-mvc-need-at-least-two-contexts –

ответ

1

Я думаю, что это совершенно не нужно создавать отдельные контексты для Controllers и Service/Repository, если вы не думаете о наличии нескольких диспетчеров или что-то в этом роде. Как правило, вы должны держать его простым и иметь как можно меньше контекстов.

0

Ответы на этот вопрос будут субъективными, но, как упоминалось в других разделах и в Spring MVC docs, два контекста являются типичными, но не единственными способами.

Я думаю, что основная причина состоит в том, чтобы отделить их, когда у вас есть пользовательский интерфейс и API. Они могут зависеть от одних и тех же бэкэнд-услуг, но, вероятно, не должны иметь смешанных бобов.

Смежные вопросы