Application Spring MVC/IOC & Hibernate

  • View
    1.554

  • Download
    4

Embed Size (px)

Transcript

  • 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.