IoC-beholderen er ansvarlig for å instansiere, konfigurere og sette sammen objektene. IoC-beholderen henter informasjon fra XML-filen og fungerer deretter. Hovedoppgavene som utføres av IoC-beholderen er:
- for å instansiere applikasjonsklassen
- for å konfigurere objektet
- å sette sammen avhengighetene mellom objektene
Det finnes to typer IoC-beholdere. De er:
Forskjellen mellom BeanFactory og ApplicationContext
org.springframework.beans.factory. BeanFactory og org.springframework.context. ApplicationContext grensesnitt fungerer som IoC-beholderen. ApplicationContext-grensesnittet er bygget på toppen av BeanFactory-grensesnittet. Den legger til litt ekstra funksjonalitet enn BeanFactory som enkel integrasjon med Springs AOP, meldingsressurshåndtering (for I18N), hendelsesforplantning, applikasjonslagsspesifikk kontekst (f.eks. WebApplicationContext) for webapplikasjon. Så det er bedre å bruke ApplicationContext enn BeanFactory.
Bruker BeanFactory
XmlBeanFactory er implementeringsklassen for BeanFactory-grensesnittet. For å bruke BeanFactory, må vi lage forekomsten av XmlBeanFactory-klassen som gitt nedenfor:
Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource);
Konstruktøren til XmlBeanFactory-klassen mottar ressursobjektet, så vi må sende ressursobjektet for å lage objektet til BeanFactory.
Bruker ApplicationContext
ClassPathXmlApplicationContext-klassen er implementeringsklassen til ApplicationContext-grensesnittet. Vi må instansiere ClassPathXmlApplicationContext-klassen for å bruke ApplicationContext som gitt nedenfor:
ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml');
Konstruktøren til ClassPathXmlApplicationContext-klassen mottar streng, slik at vi kan sende navnet på xml-filen for å lage forekomsten av ApplicationContext.
last ned eksemplet for å bruke ApplicationContext