Kontener IoC jest odpowiedzialny za tworzenie instancji, konfigurowanie i składanie obiektów. Kontener IoC pobiera informacje z pliku XML i zgodnie z nimi działa. Główne zadania realizowane przez kontener IoC to:
- aby utworzyć instancję klasy aplikacji
- aby skonfigurować obiekt
- do składania zależności między obiektami
Istnieją dwa typy kontenerów IoC. Oni są:
Różnica między BeanFactory i ApplicationContext
Fabryka org.springframework.beans.factory. Fabryka Fasoli oraz org.springframework.context. Kontekst aplikacji interfejsy pełnią rolę kontenera IoC. Interfejs ApplicationContext jest zbudowany na bazie interfejsu BeanFactory. Dodaje dodatkowe funkcje niż BeanFactory, takie jak prosta integracja z AOP Springa, obsługa zasobów komunikatów (dla I18N), propagacja zdarzeń, kontekst specyficzny dla warstwy aplikacji (np. WebApplicationContext) dla aplikacji internetowych. Lepiej więc używać ApplicationContext niż BeanFactory.
Korzystanie z fabryki fasoli
XmlBeanFactory to klasa implementacji interfejsu BeanFactory. Aby skorzystać z BeanFactory, musimy utworzyć instancję klasy XmlBeanFactory, jak podano poniżej:
Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource);
Konstruktor klasy XmlBeanFactory odbiera obiekt Resource, dlatego musimy przekazać obiekt Resource, aby utworzyć obiekt BeanFactory.
Korzystanie z kontekstu aplikacji
Klasa ClassPathXmlApplicationContext jest klasą implementacji interfejsu ApplicationContext. Musimy utworzyć instancję klasy ClassPathXmlApplicationContext, aby używać ApplicationContext, jak podano poniżej:
ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml');
Konstruktor klasy ClassPathXmlApplicationContext otrzymuje ciąg znaków, dzięki któremu możemy przekazać nazwę pliku xml, aby utworzyć instancję ApplicationContext.
pobierz przykład, aby użyć ApplicationContext