Java : Votre premier « Hello World » avec Spring-core

I. Création du projet sur Eclipse avec Maven

La création du projet se fait avec l’outil de gestion de projet Maven. Dans cet exemple Maven nous sert à télécharger toutes les dépendances nécessaires au fonctionnement de Spring. Pour d’avantages de renseignements sur Maven, cliquez sur ce lien.

Pour créer le projet sur Eclipse :  New > Other > Maven  > Maven Project (fig 1),  puis remplir les fenêtres (fig 2 et 3).

spring3012_00spring3012_01
fig 1 et fig 2 : création du projet avec Maven

Dans la page suivante il est nécessaire de remplir les champs GroupeId et ArtifactId (fig 3).
Group id représente le nom du package principal et Artifiact Id est le nom du projet. Une fois terminé de remplir les champs, cliquer sur Finish pour créer le projet vide (fig 4).

spring3012_02spring3012_03

fig 3 : création du projet avec Maven (suite et fin)
fig 4 : Présentation du contenu du projet créé

Le projet créé est composé de plusieurs parties (fig 4) :

Répertoire Contenu
/src les sources du projet (répertoire qui doit être ajouté dans le gestionnaire de sources)
/src/main les fichiers sources principaux
/src/main/java le code source (sera compilé dans /target/classses)
/src/main/resources les fichiers de ressources (fichiers de configuration, images, …). Le contenu de ce répertoire est copié dans target/classes pour être inclus dans l’artéfact généré
/src/main/webapp les fichiers de la webapp
/src/test les fichiers pour les tests
/src/test/java le code source des tests (sera compilé dans /target/test-classses)
/src/test/resources les fichiers de ressources pour les tests
/target les fichiers générés pour les artéfacts et les tests (ce répertoire ne doit pas être inclus dans le gestionnaire de sources)
/target/classes les classes compilées
/target/test-classes les classes compilées des tests unitaires
/target/site site web contenant les rapports générés et des informations sur le projet
/pom.xml le fichier POM de description du projet

fig 5 : arborescence du projet Maven. Tableau extrait du tutoriel de Jean-Michel Doudoux.

II. Import des librairies Spring

Solution #1 :
Ouvrir le fichier pom.xml > Dépendances > Add > Taper springframework dans le champ de recherche (« enter group … ») et sélectionner spring-core. Répéter cette procédure pour ajouter spring-beans et spring-context.

Solution #2 :
Copier le contenu de ce lien dans le pom.xml

III. Création des classes

1. Création de la classe Main qui va lancer le programme :

package com.jvanhouteghem.spring.helloworld;

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

public class Main {

	public static void main(String[] args) {

		//instanciation du bean 
		ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml");
		Hello h = (Hello) context.getBean("helloId"); // Instruction Spring qui remplace le Hello h = new Hello();
		h.speak();

		// fermeture du context
		((FileSystemXmlApplicationContext)context).close();
	}
}

2. Création de la classe Hello qui va être appelée par la classe Main pour dire « Hello World » :

package com.jvanhouteghem.spring.helloworld;

public class Hello {

	public void speak(){
		System.out.println("Hello World");
	}

}

IV. Création du fichier beans.xml

Solution #1 :
New > Other> > Spring > Spring Bean Configuration > Nommer le fichier beans.xml
Cliquer sur le fichier créé puis beans > new beans

Dans Id : helloId
Dans class : cliquer sur browse et choisir la classe (on obtient com.jvanhouteghem.spring.helloworld.Hello)

Solution #2 :
Copier la balise suivante dans le fichier beans.xml :
<bean id=« helloId »  class=« com.jvanhouteghem.spring.helloworld.Hello »></bean>

V. Lancement du projet

Sélectionner le fichier main et faire clic droit > Run as > Java application

spring3012_04

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>