IoC-säilö vastaa objektien luomisesta, konfiguroinnista ja kokoamisesta. IoC-säilö saa tiedot XML-tiedostosta ja toimii sen mukaisesti. IoC-kontin suorittamat päätehtävät ovat:
- sovellusluokan instantoimiseksi
- objektin määrittämiseksi
- koota objektien välisiä riippuvuuksia
IoC-säiliöitä on kahdenlaisia. He ovat:
Ero BeanFactoryn ja ApplicationContextin välillä
org.springframework.beans.factory. BeanFactory ja org.springframework.context. ApplicationContext rajapinnat toimii IoC-säiliönä. ApplicationContext-käyttöliittymä on rakennettu BeanFactory-liittymän päälle. Se lisää joitakin ylimääräisiä toimintoja kuin BeanFactory, kuten yksinkertaisen integroinnin Springin AOP:n kanssa, viestiresurssien käsittelyn (I18N:lle), tapahtuman leviämisen, sovelluskerroskohtaisen kontekstin (esim. WebApplicationContext) verkkosovellukselle. Joten on parempi käyttää ApplicationContextia kuin BeanFactorya.
BeanFactoryn käyttö
XmlBeanFactory on BeanFactory-rajapinnan toteutusluokka. Käyttääksemme BeanFactorya meidän on luotava XmlBeanFactory-luokan esiintymä alla kuvatulla tavalla:
Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource);
XmlBeanFactory-luokan rakentaja vastaanottaa Resource-objektin, joten meidän on välitettävä resurssiobjekti BeanFactory-objektin luomiseksi.
ApplicationContextin käyttäminen
ClassPathXmlApplicationContext-luokka on ApplicationContext-rajapinnan toteutusluokka. Meidän on luotava ClassPathXmlApplicationContext-luokka, jotta voimme käyttää ApplicationContextia alla kuvatulla tavalla:
ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml');
ClassPathXmlApplicationContext-luokan rakentaja vastaanottaa merkkijonon, joten voimme välittää xml-tiedoston nimen ApplicationContext-instanssin luomiseksi.
lataa esimerkki käyttääksesi ApplicationContextia