=/tutoriel-spring-4-injection-dependances/
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.
ATTENTION : ce tutoriel est associé à la version de Spring 2.x . Pour la version de Spring 3.x, voir plutôt ce tutoriel et utiliser Spring l’environnement de développement STS (SpringSource Tool Suite).
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.
Formation Architecture Java
Soyez prêt pour des projets ambitieux : formation architecture Java Objis
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 <
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.4distspring.jar
commons-logging.jar : Interface de log (Log4j en a besoin)
se trouve dans spring-framework-2.5.4libjakarta-commonscommons-logging.jar
log4j : célèbre framework de Log
spring-framework-2.5.4liblog4jlog4j-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.
Formation Architecture Java
Soyez prêt pour des projets ambitieux : formation architecture Java Objis