» Introduction
Présentation de l'écosystème JEE.
La place de Spring dans cet écosystème, notamment par rapport aux EJB.
L'état de l'art des bonnes pratiques de conception d'une application.
Le rôle d'un conteneur léger.
Amélioration de la qualité par les tests unitaires avec JUnit et les mocks.
» Mise en oeuvre de Spring en tant que conteneur léger
La prise en charge des objets par Spring.
La gestion du cycle de vie des objets confiés à Spring (pattern Singleton, Prototype).
La programmation par interface et le couplage faible (pattern Strategy).
L'injection de dépendance.
Présentation de l'injection par setter et par constructeur, quel type d'injection dans quel cas.
L'accès programmatique au conteneur.
La configuration par annotations.
La mise en oeuvre de la Programmation Orientée Aspect (AOP) avec Spring.
Le couplage Spring / Junit pour la réalisation de tests unitaires.
» Mise en oeuvre de l'accès aux données
Couplage Spring / JDBC (JdbcTemplate).
Présentation des enjeux du mapping relationnel.
JPA (et JPA 2) comme API de normalisation de la persistance en java.
Hibernate comme implémentation de JPA.
Couplage Spring / JPA.
Mise en oeuvre des transactions : par aspect, par annotation, programmatique.
» Le Web
Le modèle MVC.
La mise en oeuvre du pattern MVC avec Spring Web-MVC.
Couplage Spring - JSR 303 (bean validation) pour la validation de la saisie.
Mise en oeuvre d'Ajax avec Spring MVC.
Sécurisation des applications avec Spring Security (ex ACEGI).
Application d'une stratégie de sécurité par aspects, par annotations.
» Intégration avec d'autres technologies
Spring et les Web Services REST.
Spring et RMI.
Spring et JMX.
Spring et JMS.