Application Spring MVC/IOC & Hibernate

20
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier 2015 1 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.

Transcript of Application Spring MVC/IOC & Hibernate

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

1

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.

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

2

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

3

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é

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

4

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.

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

5

Les dépendances de SPRING :

Les dépendances de Hibernate/JPA

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

6

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.

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

7

6. Implémentation de la couche DAO

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

8

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

9

7- Implémentation de la couche métier

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

10

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

11

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

12

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

13

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.

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

14

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.

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

15

c. La classe Controller

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

16

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

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

17

f. La vue (les pages JSP)

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

18

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

19

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.

DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier

2015

20

L’affichage de la page JSP sera comme suit :

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