Tutoriel Spring N°2 : injection de dépendances

////Tutoriel Spring N°2 : injection de dépendances

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

tutoriel_spring_formation_objis_injection_dependences_1.png

 Choisir Spring/Spring project

tutoriel_spring_formation_objis_injection_dependences_2.png

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

tutoriel_spring_formation_objis_injection_dependences_3.png

 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’.

tutoriel_spring_formation_objis_injection_dependences_4.png

 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’.

tutoriel_spring_formation_objis_injection_dependences_5.png

PUBLICITE

com_cours_du_soir_objis.gif

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

tutoriel_spring_formation_objis_injection_dependences_6.png

 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

tutoriel_spring_formation_objis_injection_dependences_24.png

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

 File/New/Other/Spring/Spring Bean Definition

tutoriel_spring_formation_objis_injection_dependences_9.png

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

tutoriel_spring_formation_objis_injection_dependences_10.png

 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.

tutoriel_spring_formation_objis_injection_dependences_11.png

 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

tutoriel_spring_formation_objis_injection_dependences_12.png

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

tutoriel_spring_formation_objis_injection_dependences_13.png

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.

tutoriel_spring_formation_objis_injection_dependences_14.png

 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.

tutoriel_spring_formation_objis_injection_dependences_15.png

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

tutoriel_spring_formation_objis_injection_dependences_16.png

puis pour la propriété ‘name’

tutoriel_spring_formation_objis_injection_dependences_17.png

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

tutoriel_spring_formation_objis_injection_dependences_18.png

 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:

tutoriel_spring_formation_objis_injection_dependences_19.png

 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

tutoriel_spring_formation_objis_injection_dependences_20.png

tutoriel_spring_formation_objis_injection_dependences_21.png

configuration log4j

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

tutoriel_spring_formation_objis_injection_dependences_23.png

Partie 6 : Vues Spring eclipse

La vue ‘Explorateur Spring’

 Faîtes apparaître la vue Explorateur Spring

tutoriel_spring_formation_objis_injection_dependences_7.png

tutoriel_spring_formation_objis_injection_dependences_8.png

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

tutoriel_spring_formation_objis_injection_dependences_22.png


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’

tutoriel_spring_formation_objis_injection_dependences_25.png

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

tutoriel_spring_formation_objis_injection_dependences_26.png

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

tutoriel_spring_formation_objis_injection_dependences_27.png

 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.

tutoriel_spring_formation_objis_injection_dependences_28.png

Voir la vue Graphe

 Cliquez droit sur le fichier de définition

 Cliquez sur ‘Open Graph’

tutoriel_spring_formation_objis_injection_dependences_29.png

Vous obtenez la vue en graphe suivante

tutoriel_spring_formation_objis_injection_dependences_30.png

Partie 7 : client

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

tutoriel_spring_formation_objis_injection_dependences_31.png

Résultat

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

tutoriel_spring_formation_objis_injection_dependences_32.png

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

programme-detaille-formation-architecture-java-objis

2018-01-29T13:37:51+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java