logo

Container IoC

  1. Container IoC
  2. Folosind BeanFactory
  3. Folosind ApplicationContext

Containerul IoC este responsabil pentru instanția, configurarea și asamblarea obiectelor. Containerul IoC primește informații din fișierul XML și funcționează în consecință. Principalele sarcini îndeplinite de container IoC sunt:

  • pentru a instanția clasa aplicației
  • pentru a configura obiectul
  • pentru a asambla dependenţele dintre obiecte

Există două tipuri de containere IoC. Sunt:

    BeanFactory ApplicationContext

Diferența dintre BeanFactory și ApplicationContext

Fabrica de fasole.org.springframework. BeanFactory și org.springframework.context. ApplicationContext interfețele acționează ca container IoC. Interfața ApplicationContext este construită deasupra interfeței BeanFactory. Adaugă o funcționalitate suplimentară decât BeanFactory, cum ar fi integrarea simplă cu AOP-ul Spring, gestionarea resurselor de mesaje (pentru I18N), propagarea evenimentelor, contextul specific stratului aplicației (de exemplu, WebApplicationContext) pentru aplicația web. Deci, este mai bine să utilizați ApplicationContext decât BeanFactory.

Folosind BeanFactory

XmlBeanFactory este clasa de implementare pentru interfața BeanFactory. Pentru a folosi BeanFactory, trebuie să creăm instanța clasei XmlBeanFactory după cum este prezentat mai jos:

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

Constructorul clasei XmlBeanFactory primește obiectul Resource, așa că trebuie să transmitem obiectul resursă pentru a crea obiectul BeanFactory.


Folosind ApplicationContext

Clasa ClassPathXmlApplicationContext este clasa de implementare a interfeței ApplicationContext. Trebuie să instanțiem clasa ClassPathXmlApplicationContext pentru a folosi ApplicationContext după cum este prezentat mai jos:

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

Constructorul clasei ClassPathXmlApplicationContext primește șir, astfel încât să putem trece numele fișierului xml pentru a crea instanța ApplicationContext.

descărcați exemplul pentru a utiliza ApplicationContext