2016-06-24 1 views
1

Какой контейнер IOC используется весной MVC и можно ли использовать более 1 контейнер и как?Контейнер IOC весной MVC

Я знаю, что мы можем использовать несколько контейнеров МОК, используя пружину. Но можем ли мы использовать их в Spring MVC.

ответ

2


Для чего контейнер используется:

Весна контейнер находится в ядре Spring Framework. Контейнер будет создавать объекты, связывать их вместе, настраивать их и управлять их полным жизненным циклом от создания до уничтожения. Контейнер Spring использует инъекцию зависимостей (DI) для управления компонентами, составляющими приложение. Эти объекты называются Spring Beans. Контейнер получает инструкции о том, какие объекты необходимо создавать, настраивать и собирать, считывая предоставленные метаданные конфигурации. Метаданные конфигурации могут быть представлены либо XML, либо аннотациями Java, либо Java-кодом. Следующая диаграмма представляет собой высокоуровневое представление о том, как работает Spring. Контейнер Spring IoC использует классы Java POJO и метаданные конфигурации для создания полностью настраиваемой и исполняемой системы или приложения. Check for more information here

Можем ли мы использовать более 1 контейнер & мы можем использовать их в Spring MVC:
Ответ ДА

Typicaly, в проекте Spring MVC есть два «контейнеры»: один, созданный ContextLoaderListener, а другой созданный DispatchServlet.

Посмотрите Спринг Документация:

Интерфейс org.springframework.context.ApplicationContext представляет собой контейнер Spring IoC и отвечает за инстанцировании, настройка и монтаж вышеуказанных бобов. Контейнер получает инструкции о том, какие объекты нужно создавать, настраивать и собирать, считывая метаданные конфигурации. Метаданные конфигурации представлены в XML, аннотациях Java или Java-коде.

Снова из официального документа Doc:

В рамках Web MVC, каждый DispatcherServlet имеет свой собственный WebApplicationContext, который наследует все бобы уже определены в корневом WebApplicationContext. Эти унаследованные бобы могут быть переопределены в области, зависящей от сервлета, и вы можете определить новые специфичные для конкретной области компоненты bean для данного экземпляра Servlet.

ли Вы заметили, что WebApplicationContext в DispatcherServlet наследует все бобы уже определены в корневом WebApplicationContext?
Это может дать вам представление о том, как эти контейнеры используются друг с другом.

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

  • Нет связанных вопросов^_^