SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
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.

Contenu connexe

Tendances

Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiENSET, Université Hassan II Casablanca
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Ayoub Rouzi
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Eric Bourdet
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 

Tendances (20)

Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFITheses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
Theses Soutenues sous Direction et Co-Direction du Pr YOUSSFI
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01Jsf 110530152515-phpapp01
Jsf 110530152515-phpapp01
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 

En vedette

Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapportInes Ouaz
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Ines Ouaz
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouazInes Ouaz
 

En vedette (11)

Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Cours fondement du multimedia
Cours fondement du multimediaCours fondement du multimedia
Cours fondement du multimedia
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 

Similaire à Application Spring MVC/IOC & Hibernate

Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
 
cours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdfcours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdfssuser192642
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxThomasParaiso1
 
Supervision et analyse de script batch
Supervision et analyse de script batchSupervision et analyse de script batch
Supervision et analyse de script batchschomy
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbcInes Ouaz
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...TelecomValley
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipseISIG
 
20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You ReadyGeoffray Gruel
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FRNuxeo
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPressChi Nacim
 
Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Wiiisdom
 
PFA.Houda.Bouhaouli.(version 19.09.22).docx
PFA.Houda.Bouhaouli.(version 19.09.22).docxPFA.Houda.Bouhaouli.(version 19.09.22).docx
PFA.Houda.Bouhaouli.(version 19.09.22).docxHoudaBouhaouli
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFSDenis Voituron
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Cédric Leblond
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3Abdessamad Hamouch
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 

Similaire à Application Spring MVC/IOC & Hibernate (20)

Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
 
cours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdfcours-gratuit.com--id-12477.pdf
cours-gratuit.com--id-12477.pdf
 
CodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptxCodeBuilder_DevOpsCenter.pptx
CodeBuilder_DevOpsCenter.pptx
 
Supervision et analyse de script batch
Supervision et analyse de script batchSupervision et analyse de script batch
Supervision et analyse de script batch
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipse
 
20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You Ready
 
[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR[Webinar] Techniques avancées de création de workflow - FR
[Webinar] Techniques avancées de création de workflow - FR
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
 
cours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdfcours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdf
 
Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020
 
PFA.Houda.Bouhaouli.(version 19.09.22).docx
PFA.Houda.Bouhaouli.(version 19.09.22).docxPFA.Houda.Bouhaouli.(version 19.09.22).docx
PFA.Houda.Bouhaouli.(version 19.09.22).docx
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
 
Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !Ma stack d'outils agiles, tout un programme !
Ma stack d'outils agiles, tout un programme !
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 

Plus de Ines Ouaz

Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'artInes Ouaz
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz InesInes Ouaz
 
Environnement java
Environnement javaEnvironnement java
Environnement javaInes Ouaz
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 

Plus de Ines Ouaz (7)

Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Cv Ouaz Ines
Cv Ouaz InesCv Ouaz Ines
Cv Ouaz Ines
 
Environnement java
Environnement javaEnvironnement java
Environnement java
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 

Dernier

les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesUnidad de Espiritualidad Eudista
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdftrendingv83
 

Dernier (16)

les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 

Application Spring MVC/IOC & Hibernate

  • 1. 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.
  • 2. 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
  • 3. 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é
  • 4. 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.
  • 5. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier 2015 5 Les dépendances de SPRING : Les dépendances de Hibernate/JPA
  • 6. 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.
  • 7. 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 :
  • 8. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier 2015 8 Implémenter toutes les méthodes définies dans l’interface dans la classe BanqueDAOImp.
  • 9. 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 :
  • 10. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier 2015 10 Implémenter toutes les méthodes définies dans l’interface dans la classe BanqueMetierImp.
  • 11. 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
  • 12. 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
  • 13. 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.
  • 14. 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.
  • 15. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier 2015 15 c. La classe Controller
  • 16. 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
  • 17. DEF (DEVELOPPEMENT/ ENCADREMENT/FORMATION) 31 janvier 2015 17 f. La vue (les pages JSP)
  • 19. 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.
  • 20. 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.