Контейнерът IoC е отговорен за създаване, конфигуриране и сглобяване на обектите. IoC контейнерът получава информация от XML файла и работи съответно. Основните задачи, изпълнявани от IoC контейнера, са:
- за инстанциране на класа на приложението
- за конфигуриране на обекта
- за сглобяване на зависимостите между обектите
Има два вида IoC контейнери. Те са:
Разлика между BeanFactory и ApplicationContext
org.springframework.beans.factory. BeanFactory и org.springframework.context. Контекст на приложението интерфейсите действат като 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