vers l'accueil formulaire de contact

Tutoriel Spring N°2 : injection de dépendances

Maîtrisez par la pratique l’injection de dépendances, premier des deux concepts techniques clés du framework Spring ; le deuxième concept clé étant la programmation orientée aspect.

Objis, spécialiste de la formation Java, est heureux de vous offrir ce tutoriel, extrait de séances pratiques de la formation SPRING dispensée par Objis.

Les + objis
- 70% de travaux pratiques
- Clé USB avec tous les outils utilisés + Corrigés TPs
- Bilan pédagogique individuel + conseils

Liens utiles

- + de 100 tutoriaux java/jee Objis
- 10 tutoriaux spring framework objis
- Objis, spécialiste formation java depuis 2005
- Site officiel Spring IDE
- Site officiel Spring Source Tool Suite (STS)

Prérequis, outils et versions


- JDK 6
- Eclipse 3.3.2 europa Entreprise
- Spring 2.5.4
- Spring IDE 2.1.0

Pour ce Tutoriel, le plugin Eclipse Spring IDE doit être au préalable correctement installé. Le tutoriel ’Installation plugin Spring IDE’ vous permet de maîtriser l’installation de Spring IDE.

Objectifs

- Déclarer dans le conteneur Spring des javabeans indépendants
- Comprendre le chargement du conteneur Spring
- Mettre en œuvre l’injection de dépendances
- Utiliser les vues eclipse du plugin Spring IDE, dont la vue graphe.

Programme

- Partie 1 : création projet Spring avec Spring IDE
- Partie 2 : codage des beans
- Partie 3 : création fichier définitions de beans
- Partie 4 : déclaration des beans dans le conteneur spring
- Partie 5 : librairies du projet spring
- Partie 6 : vues Spring eclipse
- Partie 7 : client

Durée

2h.

Partie 1 : création projet Spring

Dans cette partie, vous créez un ’projet Spring’ à l’aide du plugin eclipse Spring IDE. Le plugin ajoute à Spring des vues utiles au développeur Spring (voir partie 6).

- Dans Eclipse, File/New/Other

- Choisir Spring/Spring project

- Nom du projet : springide-demo. Laissez les autres options par défaut (en particulier, source ).

- REMARQUE : le ’S’ en bleu à gauche du projet signifie que c’est un projet Spring. C’est la marque de projet Spring ou de projets ayant acquis des ’Capacités Spring’.

- REMARQUE : lorsque vous souhaitez donner à un projet non Spring des ’capacités Spring’, cliquez droit sur le projet puis ’Spring Tools/Add Spring Project Nature’.

PUBLICITE

Partie 2 : codage des beans

Dans cette partie, vous crééz deux Javabeans indépendants l’un de l’autre.

- Dans le projet ’spring-demo’, créez un package com.objis.spring.demo

Création du bean Developpeur

- Créez la classe Developpeur, comme ci-dessous

- INFO : Après la déclaration des attributs ’nom’ et ’anneesExperience’, cliquez droit sur le source puis /Source/generate Getters and Setters pour terminer la création de la classe.

Création du bean SocieteDevLogiciel

- Créez la classe SocieteDevLogiciel, comme ci-dessous

Partie 3 : Création fichier définitions de beans

- File/New/Other/Spring/Spring Bean Definition

- donnez le nom demo-beans.xml au fichier de définition de beans. Puis appuyez sur le bouton ’Next’.

- Le Wizard inclus par défaut la définition du schéma XSD associé à l’élément racine (beans) de tout fichier de définition de beans Spring.

- REMARQUE : vous pouvez choisir ici d’autres définitions, suivant le besoin de votre application. Par exemple, si vous configurez des transactions dans votre application, vous ajoutez et cochez la case ’tx’.

- De même, si vous utiliser des artifices de programmation par aspect (voir TP ’Programmation Orientée Aspect’), vous aurez alors besoin de cocher ’aop’. Enfin c’est ici qu’apparaîtront d’autres définitions si vous ajoutez d’autres extensions (Ex : flow, osgi)

- Ne cochez rien pour le moment. Cliquez sur Next

- Cliquez sur Finish. Eclipse génère alors les lignes suivantes dans le fichier demo-beans.xml

Partie 4 : Déclaration des beans dans spring

Editeur XML et complétion de code

Il est possible de déclarer des beans soit graphiquement, soit par programmation.

- Créez une balise <bean> dans la balise <beans> à travers clic-droit dans la vue outline d’eclipse. Objectif : déclarer un Développeur Olivier possédant 7 ans d’expériences.

- Testez la completion de code avec la combinaison de touches Ctrl + Espace pour l’attribut ’class’

puis pour la propriété ’name’

Remarquez les 2 façons ( attribut ou balise) de déclarer une propriété du bean.

- A VOUS DE JOUER : Déclarez dans le même fichier de configuration demo-beans.xml un deuxième développeur nommé Franck, plus expérimenté qu’Olivier (10 ans d’expérience) et possédant dans le conteneur Spring un id=’chefDeveloppeur’.

- A VOUS DE JOUER : Déclarez dans le même fichier de configuration demo-beans.xml une société de développement logicielle possédant les 2 développeurs déja déclarés, et possédant un id=’societeDevLogiciel’. Utilisez l’attribut ’ref’ de la balise bean en pointant sur l’id de chacun des beans.

Partie 5 : librairies du projet spring

- Pour démarrer un projet spring minimal, 3 dépendances sont à ajouter , et qui se trouvent dans le zip spring-framework-2.5.4-with-dependencies.zip , à dézipper :

- spring.jar : le framework spring se trouve dans \spring-framework-2.5.4\dist\spring.jar
- commons-logging.jar : Interface de log (Log4j en a besoin) se trouve dans \spring-framework-2.5.4\lib\jakarta-commons\commons-logging.jar
- log4j : célèbre framework de Log \spring-framework-2.5.4\lib\log4j\log4j-1.2.15.jar

Configuration du build Path dans Eclipse

configuration log4j

- Créer à la racine ’src’ le fichier log4j.xml

Partie 6 : Vues Spring eclipse

La vue ’Explorateur Spring’

- Faîtes apparaître la vue Explorateur Spring

Cette vue permet de voir en un coup d’œil l’ensemble des beans du conteneur Spring. Il s’agit de l’ensemble des beans du/des fichiers de configuration de spring.

Vue Spring Explorer avec le bean Developpeur

Ajout du module Spring AOP

Si vous avez ne l’avez pas déjà fait, installez l’extension Spring AOP de Spring IDE. Voir TP1 ’Installation du Spring IDE’

Voir la vue ’Cross reference’ Si vous avez ne l’avez pas déjà fait, installez l’extension Spring AOP de Spring IDE. Voir TP1 ’Installation du Spring IDE’

Cette extension permet d’avoir accès à une vue ’Cross Reference’ (références croisées entre beans).

- Cliquez sur le bouton ’Link open editors with content in the Navigator’ pour synchroniser la vue avec éléments édités.

- Cliquez ensuite quelque part sur le fichier demo-beans.xml (sur une définition de bean, ou alors sur ligne vide). La vue se synchonise avec votre clic. Voici par exemple une vue des différents beans.

Voir la vue Graphe

- Cliquez droit sur le fichier de définition
- Cliquez sur ’Open Graph’

Vous obtenez la vue en graphe suivante

Partie 7 : client

- Crééz la classe Principale ’DemoApp’ et mise en évidence de l’injection

Résultat

- Après clic droit/Run as/ Java Application, vous obtenez sur la console ceci :

QUESTION : expliquez les lignes de code de la fonction main(). En particulier, mettre en évidence les 3 étapes suivantes :
— 1.Chargement du conteneur Spring
— 2.Récupération d’un bean du conteneur
— 3.Utilisation du bean avec injection de dépendances

Conclusion

Dans ce tutoriel, vous avez pratiqué la mise en œuvre du concept clé N°1 de Spring :l’injection de dépendances.

L’étape suivante de votre apprentissage Spring : mettre en œuvre le concept clé N°2 de Spring : la programmation orientée aspect.

C’est l’objectif principal de notre tutoriel Spring N°3 : programmation orientée aspect avec Spring AOP.

Prochaine formation SPRING

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur Spring :

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
- Votez pour les prochains tutoriaux à publier
- Préparez vos entretiens techniques
- Valorisez votre profil / expertise
- Identifiez des opportunités d’emploi
- Recevez la newsletter objis.com