Développement avec le framework Spring

Mettre en oeuvre des architectures JEE Web avec Spring, Hibernate et JSF

Objectifs

  • Maîtriser une alternative efficace et professionnelle aux EJB, pour effectuer un mapping objet/relationnel et implémenter les services métiers.
  • Comprendre comment gérer la problématique d'une architecture élaborée
  • Savoir mettre en oeuvre Spring, Hibernate/JPA et JSF

Programme

Introduction
  • La problématique des architectures JEE élaborées (avec façades , services , D.A.O.)
  • Les solutions "classiques" (Design Patterns JEE), les solutions "légères" et "souples"
  • Le Design Pattern "injection de dépendances" (ou "Inversion de Contrôle")
  • Les bases de Spring (syntaxes "xml" et "annotations"), Spring-AOP
Mapping objet-relationnel et persistance : Hibernate/JPA et Spring
  • Concepts ORM
  • Configurations "Hibernate", "JPA" et "Hibernate + Spring"
  • La mise en place du mapping (.hbm.xml), D.A.O.
  • Le langage HQL (Hibernate) et les différentes associations (1-1, 1-n ,....)
  • Paramétrage ORM à base d'annotations "JPA" et intégration "Spring/JPA"
Les services métiers
  • La gestion des transactions avec Spring (avec "lazy" et effets indirects expliqués)
  • Tests unitaires avec JUnit et DbUnit
  • Associations classiques (façade, services, Dao) (LocalFacade, BusinessDelegate)
  • "Pour et contre" des architectures "DRY" et des architectures multi-niveaux avec DTO/VO
Structuration du modèle applicatif (proche IHM) et essentiel de JSF
  • Utilisation de Spring coté Web (paramétrage du "ContextLoaderListener")
  • Mise en oeuvre avec Spring et JSF
  • Essentiel de JSF(configuration, validations, ...)
  • Modèle applicatif à responsabilités séparées("stateless", "statefull", caches)
  • Utilisation des "injection de dépendances" de JSF pour bien structurer le code
  • Objets "Coordinateurs" (de scope=session) et "Référentiel" (de scope="application")
Présentation de "Spring Web Flow" (extension Spring facultative)
  • La problématique des flux applicatifs complexes (navigations, machine à états (viewState), événements , ....), paramétrage XML
  • Logique applicative complètement séparée des technologies de vues (JSF ou autres)
Compléments
  • "CXF" pour les "web services", (syntaxes ".hbm.xml" avant annotations JPA)
  • Vue d'ensemble sur extensions JSF (Ajax For JSF, richFaces, Facelets, ...)
Please login to get access to the quiz
Spring WebFlow (Prev Lesson)
(Next Lesson) Développer avec Spring
Back to Développement avec le framework Spring