logo

Conteneur IoC

  1. Conteneur IoC
  2. Utiliser BeanFactory
  3. Utilisation du contexte d'application

Le conteneur IoC est chargé d'instancier, de configurer et d'assembler les objets. Le conteneur IoC obtient des informations du fichier XML et fonctionne en conséquence. Les principales tâches effectuées par le conteneur IoC sont :

  • pour instancier la classe d'application
  • pour configurer l'objet
  • assembler les dépendances entre les objets

Il existe deux types de conteneurs IoC. Ils sont:

    BeanFactory Contexte d'application

Différence entre BeanFactory et ApplicationContext

Le fichier org.springframework.beans.factory. BeanFactory et org.springframework.context. Contexte d'application les interfaces font office de conteneur IoC. L'interface ApplicationContext est construite sur l'interface BeanFactory. Il ajoute des fonctionnalités supplémentaires par rapport à BeanFactory, telles qu'une intégration simple avec l'AOP de Spring, la gestion des ressources de message (pour I18N), la propagation des événements, un contexte spécifique à la couche d'application (par exemple WebApplicationContext) pour l'application Web. Il est donc préférable d'utiliser ApplicationContext que BeanFactory.

Utiliser BeanFactory

XmlBeanFactory est la classe d'implémentation de l'interface BeanFactory. Pour utiliser BeanFactory, nous devons créer l'instance de la classe XmlBeanFactory comme indiqué ci-dessous :

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

Le constructeur de la classe XmlBeanFactory reçoit l'objet Resource, nous devons donc transmettre l'objet ressource pour créer l'objet de BeanFactory.


Utilisation du contexte d'application

La classe ClassPathXmlApplicationContext est la classe d'implémentation de l'interface ApplicationContext. Nous devons instancier la classe ClassPathXmlApplicationContext pour utiliser ApplicationContext comme indiqué ci-dessous :

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

Le constructeur de la classe ClassPathXmlApplicationContext reçoit une chaîne, nous pouvons donc transmettre le nom du fichier XML pour créer l'instance de ApplicationContext.

téléchargez l'exemple pour utiliser ApplicationContext