Весна - Контейнеры IoC
Контейнер Spring лежит в основе Spring Framework. Контейнер будет создавать объекты, связывать их вместе, настраивать и управлять их полным жизненным циклом от создания до уничтожения. Контейнер Spring использует DI для управления компонентами, составляющими приложение. Эти объекты называются Spring Beans, о которых мы поговорим в следующей главе.
Контейнер получает инструкции о том, какие объекты создавать, настраивать и собирать, читая предоставленные метаданные конфигурации. Метаданные конфигурации могут быть представлены в виде XML, аннотаций Java или кода Java. На следующей диаграмме представлено общее представление о том, как работает Spring. Контейнер Spring IoC использует классы Java POJO и метаданные конфигурации для создания полностью настроенной и исполняемой системы или приложения.
Spring предоставляет следующие два различных типа контейнеров.
Sr. No. | Контейнер и описание |
---|---|
1 | Весенний контейнер BeanFactory Это простейший контейнер, обеспечивающий базовую поддержку DI и определяемый интерфейсом org.springframework.beans.factory.BeanFactory . BeanFactory и связанные с ним интерфейсы, такие как BeanFactoryAware, InitializingBean, DisposableBean, все еще присутствуют в Spring с целью обратной совместимости с большим количеством сторонних фреймворков, которые интегрируются со Spring. |
2 | Контейнер Spring ApplicationContext Этот контейнер добавляет больше специфических для предприятия функциональных возможностей, таких как возможность разрешать текстовые сообщения из файла свойств и возможность публиковать события приложения для заинтересованных слушателей событий. Этот контейнер определяется интерфейсом org.springframework.context.ApplicationContext . |
ApplicationContext контейнер включает в себя все функциональные возможности BeanFactory контейнера, так что , как правило , рекомендуется над BeanFactory . BeanFactory по-прежнему можно использовать для легких приложений, таких как мобильные устройства или приложения на основе апплетов, где объем данных и скорость имеют большое значение.