English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Контейнер IoC Spring

Контейнер IoC отвечает за инсталляцию, конфигурацию и сборку объектов. Контейнер IoC получает информацию из XML-файлов и работает соответственно. Основные задачи, выполняемые контейнером IoC:

Инсталляция приложений Конфигурация объектов Сборка зависимостей между объектами

Есть два типа контейнеров IoC. Это:

BeanFactory ApplicationContext

Разница между BeanFactory и ApplicationContext

org.springframework.beans.factory. BeanFactory и org.springframework.context. ApplicationContext Интерфейс является контейнером IoC. Интерфейс ApplicationContext расположен над интерфейсом BeanFactory. Он добавляет некоторые дополнительные функции, такие как простая интеграция с AOP Spring, обработка ресурсов сообщений (для I18N), распространение событий, контекст приложений для веб-приложений (например, WebApplicationContext). Поэтому использование ApplicationContext лучше, чем использование BeanFactory.

Использование BeanFactory

XmlBeanFactory является реализацией интерфейса BeanFactory. Чтобы использовать BeanFactory, нам нужно создать экземпляр класса XmlBeanFactory, как показано ниже:

Resource resource = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(resource);

Конструктор класса XmlBeanFactory принимает объект Resource, поэтому нам нужно передать этот объект ресурса, чтобы создать объект BeanFactory.


Использование ApplicationContext

Класс ClassPathXmlApplicationContext является реализацией интерфейса ApplicationContext. Мы должны создать экземпляр класса ClassPathXmlApplicationContext, чтобы использовать ApplicationContext, как показано ниже:

ApplicationContext context = 
    new ClassPathXmlApplicationContext("applicationContext.xml");

Конструктор класса ClassPathXmlApplicationContext принимает строку, поэтому мы можем передать имя файла xml, чтобы создать экземпляр ClassPathXmlApplicationContext.