logo

IoC konténer

  1. IoC konténer
  2. A BeanFactory használata
  3. Az ApplicationContext használata

Az IoC konténer felelős az objektumok példányosításáért, konfigurálásáért és összeállításáért. Az IoC-tároló az XML-fájlból kap információkat, és ennek megfelelően működik. Az IoC konténer által végzett főbb feladatok a következők:

  • az alkalmazásosztály példányosításához
  • az objektum konfigurálásához
  • az objektumok közötti függőségek összeállításához

Kétféle IoC-tároló létezik. Ők:

    BeanFactory ApplicationContext

Különbség a BeanFactory és az ApplicationContext között

Az org.springframework.beans.factory. BeanFactory és az org.springframework.context. ApplicationContext interfészek IoC tárolóként működnek. Az ApplicationContext felület a BeanFactory felületre épül. A BeanFactory-hoz képest további funkciókat ad hozzá, például egyszerű integrációt a Spring AOP-jával, üzeneterőforrás-kezelést (I18N-hez), eseményterjesztést, alkalmazásréteg-specifikus környezetet (pl. WebApplicationContext) a webalkalmazásokhoz. Tehát jobb az ApplicationContext használata, mint a BeanFactory.

A BeanFactory használata

Az XmlBeanFactory a BeanFactory interfész megvalósítási osztálya. A BeanFactory használatához létre kell hoznunk az XmlBeanFactory osztály példányát az alábbiak szerint:

 Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource); 

Az XmlBeanFactory osztály konstruktora megkapja a Resource objektumot, így át kell adnunk az erőforrás objektumot a BeanFactory objektum létrehozásához.


Az ApplicationContext használata

A ClassPathXmlApplicationContext osztály az ApplicationContext felület megvalósítási osztálya. Példányosítanunk kell a ClassPathXmlApplicationContext osztályt az ApplicationContext használatához az alábbiak szerint:

 ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml'); 

A ClassPathXmlApplicationContext osztály konstruktora karakterláncot kap, így átadhatjuk az xml fájl nevét az ApplicationContext példányának létrehozásához.

töltse le a példát az ApplicationContext használatához