logo

Contenidor IoC

  1. Contenidor IoC
  2. Utilitzant BeanFactory
  3. Utilitzant ApplicationContext

El contenidor IoC és l'encarregat d'instanciar, configurar i muntar els objectes. El contenidor IoC obté informació del fitxer XML i funciona en conseqüència. Les principals tasques que realitza el contenidor IoC són:

  • per instanciar la classe d'aplicació
  • per configurar l'objecte
  • per reunir les dependències entre els objectes

Hi ha dos tipus de contenidors IoC. Ells són:

    BeanFactory Context de l'aplicació

Diferència entre BeanFactory i ApplicationContext

L'org.springframework.beans.factory. BeanFactory i l'org.springframework.context. Context de l'aplicació interfaces actua com a contenidor IoC. La interfície ApplicationContext es construeix a la part superior de la interfície BeanFactory. Afegeix alguna funcionalitat addicional que BeanFactory, com ara la integració senzilla amb l'AOP de Spring, la gestió de recursos de missatges (per a I18N), la propagació d'esdeveniments, el context específic de la capa d'aplicació (per exemple, WebApplicationContext) per a l'aplicació web. Per tant, és millor utilitzar ApplicationContext que BeanFactory.

Utilitzant BeanFactory

XmlBeanFactory és la classe d'implementació de la interfície BeanFactory. Per utilitzar BeanFactory, hem de crear la instància de la classe XmlBeanFactory tal com es mostra a continuació:

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

El constructor de la classe XmlBeanFactory rep l'objecte Resource, de manera que hem de passar l'objecte de recurs per crear l'objecte de BeanFactory.


Utilitzant ApplicationContext

La classe ClassPathXmlApplicationContext és la classe d'implementació de la interfície ApplicationContext. Hem d'instanciar la classe ClassPathXmlApplicationContext per utilitzar l'ApplicationContext tal com es mostra a continuació:

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

El constructor de la classe ClassPathXmlApplicationContext rep una cadena, de manera que podem passar el nom del fitxer xml per crear la instància d'ApplicationContext.

descarregueu l'exemple per utilitzar ApplicationContext