IoC-containeren er ansvarlig for at instansiere, konfigurere og samle objekterne. IoC-beholderen får informationer fra XML-filen og fungerer derefter. De vigtigste opgaver udført af IoC container er:
- for at instansiere applikationsklassen
- for at konfigurere objektet
- at samle afhængighederne mellem objekterne
Der er to typer IoC-beholdere. De er:
Forskellen mellem BeanFactory og ApplicationContext
org.springframework.beans.factory. BeanFactory og org.springframework.context. Ansøgningskontekst grænseflader fungerer som IoC-beholderen. ApplicationContext-grænsefladen er bygget oven på BeanFactory-grænsefladen. Det tilføjer noget ekstra funktionalitet end BeanFactory, såsom simpel integration med Springs AOP, håndtering af beskedressourcer (til I18N), hændelsesudbredelse, applikationslagsspecifik kontekst (f.eks. WebApplicationContext) til webapplikation. Så det er bedre at bruge ApplicationContext end BeanFactory.
Bruger BeanFactory
XmlBeanFactory er implementeringsklassen for BeanFactory-grænsefladen. For at bruge BeanFactory skal vi oprette instansen af XmlBeanFactory-klassen som angivet nedenfor:
Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource);
Konstruktøren af XmlBeanFactory-klassen modtager Resource-objektet, så vi skal sende ressourceobjektet for at skabe BeanFactory-objektet.
Brug af ApplicationContext
ClassPathXmlApplicationContext-klassen er implementeringsklassen for ApplicationContext-grænsefladen. Vi er nødt til at instansiere ClassPathXmlApplicationContext-klassen for at bruge ApplicationContext som angivet nedenfor:
ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml');
Konstruktøren af ClassPathXmlApplicationContext-klassen modtager streng, så vi kan videregive navnet på xml-filen for at oprette forekomsten af ApplicationContext.
download eksemplet for at bruge ApplicationContext