1. Introduction à Spring
- Présentation du framework
- Concepts de conteneur léger
- Vue d'ensemble et exemples d'utilisation
- IoC pattern et injection de dépendances
- Spring et l'injection de dépendance
Travaux pratiques : Mise en place de l'IDE Eclipse, 1ère configuration Spring, Tests via Junit
2. Le coeur de Spring
- Les Beans, BeanFactory et ApplicationContext
- Modes singleton ou prototype Gestion des propriétés, "collaborators"
- Méthodes d'injection de dépendance
- Configuration de Beans spécifiques à Spring, cycle de vie
- Définition de Bean abstrait et héritage
3. Spring AOP
- Concepts de l'AOP
- Terminologie utilisée : aspect, joinpoint, advice, shortcut, weaving
- Les différents types d' « advice » : around, before, throws, after
- Objectifs et fonctionnalités AOP de Spring
- Intégration avec le framework AspectJ
4. Support pour le test
- Concepts de l'eXtreme programming
- Tests unitaires et test d'intégration
- Indépendance de Spring vis à vis des outils de test
- Apports de Spring : Cache de l'Application Context, Injection de données de test, et rollback des transactions
5. Intégration avec Java EE
- EJBs session comme composant Spring
- Intégration avec le service JMS
- Les services Web
- Intégration avec JMX
Atelier : Implémentation de la couche métier de la mini - application avec des EJBs et MDB
Atelier : Mini - application médiathèque en ligne : Différentes types de configurations de bean, Complétion de code et écriture d'une classe de test, Illustration de l'AOP pour implémenter du profiling, Exécution d'une suite de test
6. Applications Web avec Spring MVC
- Rappel MVC
- Architecture Spring
- Contrôleurs Spring
- Résolution des vues
- Gestion des locales et des thèmes
- Traitements des exceptions
- Intégrations avec autres techniques de vues
7. Spring et l'accès aux données (JDBC/Hibernate/JPA/NoSQL)
- Pattern DAO avec JDBC et les Classes abstraites de Spring
- Configuration de la SessionFactory d'Hibernate dans le contexte d'application Spring
- Hibernate Template et Hibernate Callback
- Implémentation DAO avec les APIs Hibernate
- Configuration EntityManagerFactory, la classe abstraite JPATemplate
- Démarcation de transactions par programmation et déclaration
- Support pour les sources de données NoSQL, exemple de MongoDB
Atelier : Implémentation de la couche DAO de la mini - application avec JPA, Démarcation des transactions des services métier
8. Spring avancé avec Spring Boot
- Comprendre la philosophie Spring Boot
- Utilisation de Spring initializr
- Gestion des configurations
Atelier : Déploiement d'une application Spring Boot