Учебники

Весна — Контейнеры IoC

Контейнер Spring является ядром Spring Framework. Контейнер будет создавать объекты, связывать их вместе, настраивать их и управлять их полным жизненным циклом от создания до разрушения. Контейнер Spring использует DI для управления компонентами, составляющими приложение. Эти объекты называются Spring Beans, которые мы обсудим в следующей главе.

Контейнер получает инструкции о том, какие объекты создавать, настраивать и собирать, читая предоставленные метаданные конфигурации. Метаданные конфигурации могут быть представлены в виде XML, аннотаций Java или кода Java. Следующая диаграмма представляет высокоуровневое представление о том, как работает Spring. Контейнер Spring IoC использует классы Java POJO и метаданные конфигурации для создания полностью сконфигурированной и исполняемой системы или приложения.

Spring IoC Контейнер

Spring предоставляет следующие два различных типа контейнеров.

Sr.No. Контейнер и описание
1 Spring BeanFactory Контейнер

Это самый простой контейнер, обеспечивающий базовую поддержку DI и определяемый интерфейсом org.springframework.beans.factory.BeanFactory . BeanFactory и связанные интерфейсы, такие как BeanFactoryAware, InitializingBean, DisposableBean, по-прежнему присутствуют в Spring с целью обеспечения обратной совместимости с большим количеством сторонних сред, интегрируемых с Spring.

2 Spring ApplicationContext Container

Этот контейнер добавляет больше специфических для предприятия функций, таких как возможность разрешать текстовые сообщения из файла свойств и возможность публиковать события приложения для заинтересованных слушателей событий. Этот контейнер определяется интерфейсом org.springframework.context.ApplicationContext .

Это самый простой контейнер, обеспечивающий базовую поддержку DI и определяемый интерфейсом org.springframework.beans.factory.BeanFactory . BeanFactory и связанные интерфейсы, такие как BeanFactoryAware, InitializingBean, DisposableBean, по-прежнему присутствуют в Spring с целью обеспечения обратной совместимости с большим количеством сторонних сред, интегрируемых с Spring.

Этот контейнер добавляет больше специфических для предприятия функций, таких как возможность разрешать текстовые сообщения из файла свойств и возможность публиковать события приложения для заинтересованных слушателей событий. Этот контейнер определяется интерфейсом org.springframework.context.ApplicationContext .

Контейнер ApplicationContext включает в себя все функциональные возможности контейнера BeanFactory , поэтому его обычно рекомендуется использовать поверх BeanFactory . BeanFactory по-прежнему можно использовать для легких приложений, таких как мобильные устройства или приложения на основе апплетов, где объем и скорость данных значительны.