Conteneur Spring ApplicationContext

Le contexte d'application est le conteneur avancé de Spring. Semblable à BeanFactory, il peut charger des définitions de haricots, des haricots métalliques ensemble et distribuer des haricots sur demande. En outre, il ajoute des fonctionnalités plus spécifiques à l'entreprise, telles que la possibilité de résoudre les messages textuels à partir d'un fichier de propriétés et la possibilité de publier des événements d'application sur des écouteurs d'événements intéressés. Ce conteneur est défini par l' interface org.springframework.context.ApplicationContext .

L' ApplicationContext inclut toutes les fonctionnalités de BeanFactory , il est généralement recommandé par rapport à BeanFactory. BeanFactory peut toujours être utilisé pour des applications légères telles que des appareils mobiles ou des applications basées sur des applets.

Les implémentations ApplicationContext les plus couramment utilisées sont -

  • FileSystemXmlApplicationContext- Ce conteneur charge les définitions des beans à partir d'un fichier XML. Ici, vous devez fournir le chemin complet du fichier de configuration du bean XML au constructeur.

  • ClassPathXmlApplicationContext- Ce conteneur charge les définitions des beans à partir d'un fichier XML. Ici, vous n'avez pas besoin de fournir le chemin complet du fichier XML, mais vous devez définir correctement CLASSPATH car ce conteneur ressemblera à un fichier XML de configuration de bean dans CLASSPATH.

  • WebXmlApplicationContext - Ce conteneur charge le fichier XML avec les définitions de tous les beans à partir d'une application Web.

Nous avons déjà vu un exemple sur le conteneur ClassPathXmlApplicationContext dans Spring Hello World Example , et nous parlerons plus en détail de XmlWebApplicationContext dans un chapitre séparé lorsque nous discuterons des applications Spring basées sur le Web. Voyons donc un exemple sur FileSystemXmlApplicationContext.

Exemple

Laissez-nous mettre en place un IDE Eclipse fonctionnel et suivez les étapes suivantes pour créer une application Spring -

Pas La description
1 Créez un projet avec un nom SpringExample et créez un package com.tutorialspoint sous lesrc dossier dans le projet créé.
2 Ajoutez les bibliothèques Spring requises à l'aide de l' option Ajouter des JAR externes comme expliqué dans le chapitre Exemple de Spring Hello World .
3 Créez les classes Java HelloWorld et MainApp sous le package com.tutorialspoint .
4 Créez le fichier de configuration Beans Beans.xml sous lesrc dossier.
5 La dernière étape consiste à créer le contenu de tous les fichiers Java et le fichier de configuration Bean et à exécuter l'application comme expliqué ci-dessous.

Voici le contenu de HelloWorld.java fichier -

package com.tutorialspoint;

public class HelloWorld {
   private String message;

   public void setMessage(String message){
      this.message  = message;
   }
   public void getMessage(){
      System.out.println("Your Message : " + message);
   }
}

Voici le contenu du deuxième fichier MainApp.java -

package com.tutorialspoint;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class MainApp {
   public static void main(String[] args) {
      ApplicationContext context = new FileSystemXmlApplicationContext
         ("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml");
      
      HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
      obj.getMessage();
   }
}

Après deux points importants à noter concernant le programme principal -

  • La première étape consiste à créer un objet usine dans lequel nous avons utilisé l'API du frameworkFileSystemXmlApplicationContextpour créer le bean factory après avoir chargé le fichier de configuration du bean à partir du chemin donné. leFileSystemXmlApplicationContext()L'API s'occupe de créer et d'initialiser tous les objets ie. beans mentionnés dans le fichier de configuration du bean XML.

  • La deuxième étape est utilisée pour obtenir le bean requis en utilisant getBean()méthode du contexte créé. Cette méthode utilise l'ID de bean pour renvoyer un objet générique, qui peut finalement être transtypé en objet réel. Une fois que vous avez un objet, vous pouvez utiliser cet objet pour appeler n'importe quelle méthode de classe.

Voici le contenu du fichier de configuration du bean Beans.xml

<?xml version = "1.0" encoding = "UTF-8"?>

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id = "helloWorld" class = "com.tutorialspoint.HelloWorld">
      <property name = "message" value = "Hello World!"/>
   </bean>

</beans>

Une fois que vous avez terminé de créer les fichiers de configuration source et bean, laissez-nous exécuter l'application. Si tout va bien avec votre application, elle imprimera le message suivant -

Your Message : Hello World!