какие компоненты должны быть объявлены в applicationContext и dispatcherServlet - PullRequest
3 голосов
/ 24 марта 2011

Изначально я объявил все свои bean-компоненты в dispatcher-servlet, и мое приложение работало.Мне действительно нужно иметь файл applicationContext.xml?

Ответы [ 2 ]

8 голосов
/ 24 марта 2011

Вам не обязательно это нужно, но это предпочтительный способ разделения прикладных уровней:

  • в dispatcher-servlet.xml размещать только веб-материалы - контроллеры, средства разрешения представления, конвертеры и т. Д..
  • в applicationContext.xml поместить все службы и daos, а также другие общие конфигурации

Обратите внимание, что вам придется объявить прослушиватель, чтобы Spring мог загрузить applicationContext.xml:

<listener>
    <listener-class>
       org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

Тогда контекст из applicationContext.xml будет родительским контекстом, а тот, что в dispatcher-servlet.xml, будет дочерним контекстом.Дочерний элемент видит бобы в родительском элементе, но родительский элемент не видит их в дочернем элементе.

Также обратите внимание, что applicationContext.xml является именем по умолчанию.Вы можете изменить имя или путь, по которому оно ищется, с помощью contextConfigLocation <context-param>

0 голосов
/ 24 марта 2011

Вам не нужен файл applicationContext.xml для каждого слова. Но вам нужен XML-файл, даже если он только говорит Spring, чтобы он автоматически загружал все компоненты в вашем приложении.

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