Cours complet Spring MVC dans une architecture 3tier

Extrait du cours complet Spring MVC dans une architecture 3tier

1 Rappels
Nous poursuivons dans cet article le travail fait dans les précédents :
• Spring MVC par l’exemple – partie 1 : [http://tahe.developpez.com/java/springmvc-part1]
• Spring MVC par l’exemple – partie 2 : [http://tahe.developpez.com/java/springmvc-part2]
• Spring MVC par l’exemple – partie 3 : [http://tahe.developpez.com/java/springmvc-part3]
• Spring MVC par l’exemple – partie 4 : [http://tahe.developpez.com/java/springmvc-part4]
Dans le dernier article, nous avons mis en oeuvre Spring MVC dans une architecture 3tier [web, metier, dao] sur un exemple basique de gestion d’une liste de personnes. Cela nous a permis d’utiliser les concepts qui avaient été présentés dans les précédents articles.
2 Spring MVC dans une architecture 3tier – Exemple 2 – Firebird
2.1 La base de données Firebird
Dans cette version, nous allons installer la liste des personnes dans une table de base de données Firebird. On trouvera dans le document [http://tahe.developpez.com/divers/sql-firebird/] des informations pour installer et gérer ce SGBD. Dans ce qui suit,les copies d’écran proviennent d’ IBExpert, un client d’administration des SGBD Interbase et Firebird.La base de données s’appelle [dbpersonnes.gdb]. Elle contient une table [PERSONNES] :
La table [PERSONNES] contiendra la liste des personnes gérée par l’application web. Elle a été construite avec les ordres SQL suivants :
1.
2. CREATE TABLE PERSONNES (
3. ID INTEGER NOT NULL,
4. « VERSION » INTEGER NOT NULL,
5. NOM VARCHAR(30) NOT NULL,
6. PRENOM VARCHAR(30) NOT NULL,
7. DATENAISSANCE DATE NOT NULL,
8. MARIE SMALLINT NOT NULL,
9. NBENFANTS SMALLINT NOT NULL
10. );
11.
12.
13. ALTER TABLE PERSONNES ADD CONSTRAINT CHK_PRENOM_PERSONNES check (PRENOM<> »);
14. ALTER TABLE PERSONNES ADD CONSTRAINT CHK_MARIE_PERSONNES check (MARIE=0 OR MARIE=1);
15. ALTER TABLE PERSONNES ADD CONSTRAINT CHK_NOM_PERSONNES check (NOM<> »);
16. ALTER TABLE PERSONNES ADD CONSTRAINT CHK_ENFANTS_PERSONNES check (NBENFANTS>=0);
17.
18.
19. ALTER TABLE PERSONNES ADD CONSTRAINT PK_PERSONNES PRIMARY KEY (ID);
2.2 Le projet Eclipse des couches [dao] et [service]
Pour développer les couches [dao] et [service] de notre application avec base de données, nous utiliserons le projet Eclipse [springmvc-38]
suivant:
Le projet est un simple projet Java, pas un projet web Tomcat. Rappelons que la version 2 de notre application va utiliser la couche
[web] de la version 1. Cette couche n’a donc pas à être écrite.
Dossier [src]
Ce dossier contient les codes source des couches [dao] et [service] :
On y trouve différents paquetages :
• [istia.st.springmvc.personnes.dao] : contient la couche [dao]
• [istia.st.springmvc.personnes.entites] : contient la classe [Personne]
• [istia.st.springmvc.personnes.service] : contient la classe [service]
• [istia.st.springmvc.personnes.tests] : contient les tests JUnit des couches [dao] et [service]
ainsi que des fichiers de configuration qui doivent être dans le ClassPath de l’application.
2.3 La couche [dao]
2.3.1 Les composantes de la couche [dao]
La couche [dao] est constituée des classes et interfaces suivantes :
• [IDao] est l’interface présentée par la couche [dao]
• [DaoImplCommon] est une implémentation de celle-ci où le groupe de personnes se trouve dans une table de base de données. [DaoImplCommon] regroupe des fonctionnalités indépendantes du SGBD.
• [DaoImplFirebird] est une classe dérivée de [DaoImplCommon] pour gérer spécifiquement une base Firebird.
• [DaoException] est le type des exceptions non contrôlées, lancées par la couche [dao]. Cette classe est celle de la version 1.
L’interface [IDao] est la suivante :
1. package istia.st.springmvc.personnes.dao;
2.
3. import istia.st.springmvc.personnes.entites.Personne;
4.
5. import java.util.Collection;
6.
7. public interface IDao {
8. // liste de toutes les personnes
9. Collection getAll();
10. // obtenir une personne particulière
11. Personne getOne(int id);
12. // ajouter/modifier une personne
13. void saveOne(Personne personne);
14. // supprimer une personne
15. void deleteOne(int id);
16. }

…….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours complet Spring MVC dans une architecture 3tier (2633 KO) (Cours PDF)
Cours complet Spring MVC

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *