logo

Контейнер IoC

  1. Контейнер IoC
  2. Використання BeanFactory
  3. Використання ApplicationContext

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

  • щоб створити екземпляр класу програми
  • щоб налаштувати об'єкт
  • щоб зібрати залежності між об’єктами

Існує два типи контейнерів IoC. Вони є:

    BeanFactory ApplicationContext

Різниця між BeanFactory і ApplicationContext

org.springframework.beans.factory. BeanFactory і org.springframework.context. ApplicationContext інтерфейси діють як контейнер IoC. Інтерфейс ApplicationContext побудовано на основі інтерфейсу BeanFactory. Він додає деякі додаткові функції, ніж 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-файлу для створення екземпляра ApplicationContext.

завантажте приклад використання ApplicationContext