Conteneur IOC

Le conteneur IOC est au cœur du framework Spring. Il est responsable d’instancier, configurer et assembler les objets, gérer leur cycle de vie complet de la création jusqu’à la destruction. Il utilise l’injection de dépendance (DI) pour gérer les éléments qui composent une application.

Le conteneur reçoit les instructions sur les objets à instancier, configurer, assembler par la lecture des métadonnées de configuration fournis. Les métadonnées de configuration peut être représentées soit par XML, annotations Java, ou un code Java. Le schéma ci-dessous est une vue de haut niveau de la façon dont fonctionne Spring. Le conteneur Spring IoC rend l’utilisation des classes Java POJO et les métadonnées de configuration pour produire un système ou une application entièrement configurée et exécutable.

container-ioc

Il existe deux types de conteneurs IOC :

  • BeanFactory : Interface qui existe dans la package org.springframework.beans.factory.BeanFactory
  • ApplicationContext : Interface qui existe dans la package org.springframework.context.ApplicationContext

Différence entre BeanFactory & ApplicationContext :

BeanFactory et ApplicationContext sont des interfaces qui agissent comme des conteneurs IoC.

L’interface ApplicationContext est construite au-dessus de l’interface BeanFactory. Il ajoute quelques fonctionnalités supplémentaires que BeanFactory tels que l’intégration simple avec l’AOP de Spring, la couche application contexte spécifique (par exemple WebApplicationContext) pour les applications Web. Il est donc préférable d’utiliser ApplicationContext que BeanFactory.

Laisser un commentaire