View
1.558
Download
6
Embed Size (px)
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
1
Cration dun projet SPRING MVC
1. Installation du plugin Spring Tools
On va installer un plugin SPRING Tools pour notre Eclipse Luna. Il va faciliter la tche de
travail et de dveloppement de notre projet.
Accdez au menu dEclipse, dans Help > Eclipse
Maketplace > on tape SPRING TOOLS et on choisi le
plugin adquat pour le tlcharger.
Une fois on clique sur le bouton Install, le
tlchargement commence automatiquement. Reste juste accepter linstallation et tapez
sur Finish.
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
2
2. Cration dun projet Spring MVC
Aprs avoir installer le nouveau plugin Spring tools, on peut crer un projet de type spring
MVC. Accdez de la manire suivante : New > Other > Spring > Spring Projet > Spring MVC
Projet et on donne un nom au projet E-BOUTIQUE.
Structure du projet aprs la cration :
Le fichier web.xml
/WEB-INF/spring/root-context.xml
o Ce fichier est lu par ContextLoaderListener,
au dmarrage du serveur .
o Cest un fichier dans lequel contexte de
lapplication sera construit
o ContextLoaderListener reprsente Spring
IOC, cest donc un fichier pour linjection
des dpendances
/WEB-INF/spring/appServlet/servlet-context.xml :
Ce fichier est lu par DispatcherServlet qui
reprsente le controleur web de lapplication
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 laffichage de la page daccueil.
3. Spcifications du projet
On souhaite crer une application qui permet de grer des comptes bancaire:
Chaque compte est dfini un numro, un solde et une date de cration
Un compte courant est un compte qui possde en plus un dcouvert
Un compte pargne est un compte qui possde en plus un taux dintrt.
Chaque compte appartient un client cr par un employ
Chaque client est dfini par son code et son nom
Un employ est dfini par son code et son nom
Chaque employ possde un suprieur hirarchique
Chaque employ peut appartenir plusieurs groupes
Chaque groupe, dfini par un code et un nom, peut contenir plusieurs employs.
Chaque compte peut subir plusieurs oprations.
Il existe deux types doprations : Versement et Retrait
Chaque opration est effectue par un employ
Une opration est dfinie par un numro, une date et un montant
Lapplication doit permettre les oprations 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 opration
Consulter un compte
Consulter les comptes dun client
Consult les comptes crs par un employ
Consulter tous les employs
Consulter tout les groupes
Consulter les employs dun groupe
Consulter les clientes dont le nom contient un mot cl
Effectuer un versement dun montant dans un compte
Effectuer un retrait dun montant dun compte
Effectuer un virement dun montant dun compte vers un autre
4. Maven dependencies : Spring
Dans le fichier pom.xml le fichier de MAVEN il faut ajouter ls dpendances de Spring,
Hibernate pour que les librairies se tlchargent automatiquement sous la classpath du
projet.
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
5
Les dpendances de SPRING :
Les dpendances de Hibernate/JPA
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
6
5. Implmentation des entits
Cration des entits 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 grer le
Mapping Objet/Relationnel.
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
7
6. Implmentation de la couche DAO
Dfinition de toutes les mthodes dans linterface IBanqueDAO :
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
8
Implmenter toutes les mthodes dfinies dans linterface dans la classe BanqueDAOImp.
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
9
7- Implmentation de la couche mtier
Dfinition de toutes les mthodes dans linterface IBanqueMetier :
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
10
Implmenter toutes les mthodes dfinies dans linterface 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 gre la persistance. On va crer un
fichier nomm persistante.xml sous le rpertoire 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 linjection des dpendances de
la couche DAO et de la couche mtier. On va crer un fichier nomm root-context.xml par
dfaut ou on le nomme applicationContext.xml sous le rpertoire resources/root-
context.xml
Le fichier dj contient la dclaration des donnes qui servent se connecter la base de
donnes : Driver, URL, le nom de la base de donnes quon va la crer sous le nom
gestion_banque, le login et le mot de passe.
On va essayer de tester maintenant la couche mtier quon vient dimplmenter et pour se
faire on va juste crer une classe principale de test. Lors de lexcution de cette classe et
laide de la configuration de cette ligne
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
13
La base sera cre automatiquement avec toutes les tables vu quon travaille avec les
annotations de JPA.
10- La classe de test
Une fois le test lanc, la base sera cre.
La structure de la base de donnes a t implmente correctement avec lensemble des
tables et les champs ncessaires mme rempli avec quelques enregistrements et prte
lexploitation.
On va tester quelques mthodes de consultation de la couche mtier.
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
14
11- Limplmentation de la couche web
a. Le fichier web.xml
b. Le fichier servlet-context.xml
Ce fichier dfinit le rsolveur 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 reprsente le model M de MVC. Il joue le rle dune classe contenant des
attributs utiliss 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 amliorer ce petit projet en implmentant la pagination, en ajoutant
lauthentification Spring Security et en ajoutant dautre page JSP de gestion.
DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier
2015
20
Laffichage de la page JSP sera comme suit :
A trs bientt & la prochaine formation.