|

| Objectifs |
- Maîtriser les fondations du framework Spring (injection de dépendance et programmation orientée aspect)
- Maîtriser l'accès aux données et la gestion des transactions avec Spring
- Maîtriser la mise en œuvre d'applications Web utilisant Spring (intégration de frameworks MVC et Spring MVC)
|
| Publics |
- Développeurs, architectes, et chefs de projets
|
| Pré-requis |
- Avant de suivre ce cours les étudiants doivent avoir une bonne connaissance du modèle objet.
- Avant de suivre ce cours les étudiants doivent avoir une bonne connaissance de Java et des spécifications Web de J2EE (servlets, jsp, taglib).
|
| Théorie / Pratique |
- 50/50
- Présentation théorique illustrée d'exemples concrets sous forme d'extraits de code ou de modèles d'architectures. Une part très importante est consacrée aux travaux pratiques.
|
|
Développement d'applications Java / J2EE avec Spring
|
Enjeux
Prenant le contre-pied des EJB jugés souvent trop complexes pour des besoins simples, les nouveaux frameworks techniques comme Spring proposent une simplification des composants techniques en des classes simples, les « POJO ». Spring se positionne plus largement comme futur socle technique des applications permettant d'intégrer les couches de présentation et d'accès aux données avec les composants métiers
|
Introduction des conteneurs légers
- Portabilité du code et machine virtuelle
- Téléchargement de code et sécurité
- Programmation objet
Injection de dépendances
- Description des mécanismes de l'injection de dépendances
- BeanFactory, XmlBeanFactory et ApplicationContext
- Injection de types 2 et 3
- Injection automatique (autowire)
- Interactions avec le conteneur léger (cycle de vie, connaissance du conteneur)
- Portée de beans (scope)
- Héritage de configuration
- Support des fabriques
- PropertyEditor
- FactoryBean
- Espaces de nommage
- Etude de cas : mise en œuvre des mécanismes de l'injection de dépendances avec Spring
Programmation orientée aspect
- Description des concepts de la programmation orientée aspect
- Fonctionnement du tisseur Spring AOP
- Tissage par bean
- Tissage global
- Relation entre les proxies et les beans tissés
- Intégration du langage de coupe d'AspectJ
- Support d'AspectJ
- Etude de cas : mise en œuvre des mécanismes de la programmation orientée aspect avec Spring et AspectJ
Accès aux données
- Rappel des principes généraux de fonctionnement
- Principes généraux du support de l'accès aux données de Spring
- Configuration des fabriques de connexions
- Approche fondée sur les templates
- Approche objet
- Etude de cas : réalisation des classes DAO
|
Gestion des transactions
- Abstraction de Spring
- API d'abstraction des transactions
- Démarcation des transactions par la programmation
- Démarcation des transactions par déclaration
- Etude de cas : ajout de comportements transactionnels
Contextes Web de Spring
- Principes de fonctionnement
- Configuration des contextes Web
- Etude de cas : configuration des contextes Web
Intégration de frameworks MVC
- Principes
- Intégration de Struts
- ntégration de JSF
- Etude de cas : mise en œuvre de l'intégration d'un framework MVC avec Spring
Spring MVC
- Principes et architecture
- Mise en œuvre de contrôleurs
- Interceptions de traitements
- Gestion des formulaires
- Mise en œuvre des vues
- Vue JSP/JSTL et taglibs associés
- Gestion des exceptions
- Etude de cas : mise en œuvre d'une application Web fondée sur Spring MVC
Spring MVC avancé
- Support des tiles
- Vues Pdf et Excel
- Intégration de JasperReports
- Mise en œuvre de l'upload de fichiers
- Etude de cas : intégration des tiles dans l'application précédente et ajout d'états
|
|
|
|