Vous êtes sur la page 1sur 20

31 janvier

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)


2015

Création d’un projet SPRING MVC


1. Installation du plugin Spring Tools

On va installer un plugin SPRING Tools pour notre Eclipse Luna. Il va faciliter la tâche de
travail et de développement de notre projet.
Accédez au menu d’Eclipse, dans Help > Eclipse
Maketplace > on tape SPRING TOOLS et on choisi le
plugin adéquat pour le télécharger.

Une fois on clique sur le bouton Install, le


téléchargement commence automatiquement. Reste juste à accepter l’installation et tapez
sur Finish.

1
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

2. Création d’un projet Spring MVC


Après avoir installer le nouveau plugin Spring tools, on peut créer un projet de type spring
MVC. Accédez de la manière suivante : New > Other > Spring > Spring Projet > Spring MVC
Projet et on donne un nom au projet E-BOUTIQUE.

Structure du projet après la création :


 Le fichier web.xml
 /WEB-INF/spring/root-context.xml
o Ce fichier est lu par ContextLoaderListener,
au démarrage du serveur .
o C’est un fichier dans lequel contexte de
l’application sera construit
o ContextLoaderListener représente Spring
IOC, c’est donc un fichier pour l’injection
des dépendances
 /WEB-INF/spring/appServlet/servlet-context.xml :
Ce fichier est lu par DispatcherServlet qui
représente le controleur web de l’application
 La classe HomeController
 La vue Home.jsp

2
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

 Maven dependencies : pom.xml


On peut maintenant tester le lancement du projet et voir l’affichage de la page d’accueil.

3. Spécifications du projet
On souhaite créer une application qui permet de gérer des comptes bancaire:
 Chaque compte est défini un numéro, un solde et une date de création
 Un compte courant est un compte qui possède en plus un découvert
 Un compte épargne est un compte qui possède en plus un taux d’intérêt.
 Chaque compte appartient à un client créé par un employé
 Chaque client est défini par son code et son nom
 Un employé est défini par son code et son nom
 Chaque employé possède un supérieur hiérarchique
 Chaque employé peut appartenir à plusieurs groupes
 Chaque groupe, défini par un code et un nom, peut contenir plusieurs employés.
 Chaque compte peut subir plusieurs opérations.
 Il existe deux types d’opérations : Versement et Retrait
 Chaque opération est effectuée par un employé
 Une opération est définie par un numéro, une date et un montant
L’application doit permettre les opérations suivantes:
 Ajouter un client
 Ajouter un employé
3
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

 Ajouter un groupe
 Ajouter un employé à un groupe
 Ajouter un compte
 Ajouter une opération
 Consulter un compte
 Consulter les comptes d’un client
 Consulté les comptes créés par un employé
 Consulter tous les employés
 Consulter tout les groupes
 Consulter les employés d’un groupe
 Consulter les clientes dont le nom contient un mot clé
 Effectuer un versement d’un montant dans un compte
 Effectuer un retrait d’un montant d’un compte
 Effectuer un virement d’un montant d’un compte vers un autre

4. Maven dependencies : Spring


Dans le fichier pom.xml le fichier de MAVEN il faut ajouter lés dépendances de Spring,
Hibernate pour que les librairies se téléchargent automatiquement sous la classpath du
projet.
4
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

Les dépendances de SPRING :

Les dépendances de Hibernate/JPA

5
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

5. Implémentation des entités


Création des entités du projet : Client, Compte, CompteEpargne, CompteCourant, Employe,
Groupe, Operation, Retrait et Versement.

On va ajouter les annotations à chaque entité en utilisant le JPA de Hibernate pour gérer le
Mapping Objet/Relationnel.

6
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

6. Implémentation de la couche DAO


Définition de toutes les méthodes dans l’interface IBanqueDAO :

7
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

Implémenter toutes les méthodes définies dans l’interface dans la classe BanqueDAOImp.

8
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

7- Implémentation de la couche métier


Définition de toutes les méthodes dans l’interface IBanqueMetier :

9
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

Implémenter toutes les méthodes définies dans l’interface dans la classe BanqueMetierImp.

10
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

8- Configuration du fichier hibernate


Il faut configurer maintenant le fichier de hibernate qui gère la persistance. On va créer un
fichier nommé persistante.xml sous le répertoire resources/META-INF/persistence.xml

11
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

9- Configuration du fichier HIBERNATE


Il faut configurer maintenant le fichier de SPRING IOC qui fait l’injection des dépendances de
la couche DAO et de la couche métier. On va créer un fichier nommé root-context.xml par
défaut ou on le nomme applicationContext.xml sous le répertoire resources/root-
context.xml

Le fichier déjà contient la déclaration des données qui servent à se connecter à la base de
données : Driver, URL, le nom de la base de données qu’on va la créer sous le nom
gestion_banque, le login et le mot de passe.

On va essayer de tester maintenant la couche métier qu’on vient d’implémenter et pour se


faire on va juste créer une classe principale de test. Lors de l’exécution de cette classe et à
l’aide de la configuration de cette ligne
12
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

La base sera créée automatiquement avec toutes les tables vu qu’on travaille avec les
annotations de JPA.

10- La classe de test

Une fois le test lancé, la base sera créée.

La structure de la base de données a été implémentée correctement avec l’ensemble des


tables et les champs nécessaires même rempli avec quelques enregistrements et prête à
l’exploitation.

On va tester quelques méthodes de consultation de la couche métier.

13
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

11- L’implémentation de la couche web

a. Le fichier web.xml

b. Le fichier servlet-context.xml

Ce fichier définit le résolveur de vu.

14
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

c. La classe Controller

15
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

d. La classe Form

La classe Form représente le model M de MVC. Il joue le rôle d’une classe contenant des
attributs utilisés dans le formulaire de la JSP

e. Un peu de CSS

16
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

f. La vue (les pages JSP)

17
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

18
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

On peut encore améliorer ce petit projet en implémentant la pagination, en ajoutant


l’authentification Spring Security et en ajoutant d’autre page JSP de gestion.

19
31 janvier
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION)
2015

L’affichage de la page JSP sera comme suit :

A très bientôt & à la prochaine formation.

20

Vous aimerez peut-être aussi