logo

IoC-beholder

  1. IoC-beholder
  2. Bruker BeanFactory
  3. Bruker ApplicationContext

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:

    BeanFactory ApplicationContext

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