application spring mvc/ioc & hibernate
Post on 15-Jul-2015
1.580 Views
Preview:
TRANSCRIPT
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
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
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.
top related