=/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
 
			
					


































