Kontajner IoC je zodpovedný za vytváranie inštancií, konfiguráciu a zostavovanie objektov. Kontajner IoC získava informácie zo súboru XML a podľa toho funguje. Hlavné úlohy, ktoré kontajner IoC vykonáva, sú:
- na vytvorenie inštancie triedy aplikácie
- na konfiguráciu objektu
- zostaviť závislosti medzi objektmi
Existujú dva typy kontajnerov IoC. Oni sú:
Rozdiel medzi BeanFactory a ApplicationContext
Továreň.org.springframework.beans.factory. BeanFactory a org.springframework.kontext. ApplicationContext rozhrania fungujú ako kontajner IoC. Rozhranie ApplicationContext je postavené na rozhraní BeanFactory. Pridáva niektoré ďalšie funkcie ako BeanFactory, ako je jednoduchá integrácia s AOP Spring, spracovanie zdrojov správ (pre I18N), šírenie udalostí, špecifický kontext aplikačnej vrstvy (napr. WebApplicationContext) pre webovú aplikáciu. Preto je lepšie použiť ApplicationContext ako BeanFactory.
Pomocou BeanFactory
XmlBeanFactory je implementačná trieda pre rozhranie BeanFactory. Ak chcete použiť BeanFactory, musíme vytvoriť inštanciu triedy XmlBeanFactory, ako je uvedené nižšie:
Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource);
Konštruktor triedy XmlBeanFactory prijíma objekt Resource, takže na vytvorenie objektu BeanFactory musíme odovzdať objekt zdroja.
Použitie ApplicationContext
Trieda ClassPathXmlApplicationContext je implementačná trieda rozhrania ApplicationContext. Potrebujeme vytvoriť inštanciu triedy ClassPathXmlApplicationContext, aby sme mohli použiť ApplicationContext, ako je uvedené nižšie:
ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml');
Konštruktor triedy ClassPathXmlApplicationContext prijíma reťazec, takže môžeme odovzdať názov xml súboru na vytvorenie inštancie ApplicationContext.
stiahnite si príklad na použitie ApplicationContext