Контейнер IoC відповідає за створення, конфігурацію та збірку об’єктів. Контейнер IoC отримує інформацію з файлу XML і працює відповідно. Основні завдання, які виконує контейнер IoC:
- щоб створити екземпляр класу програми
- щоб налаштувати об'єкт
- щоб зібрати залежності між об’єктами
Існує два типи контейнерів IoC. Вони є:
Різниця між 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