Le conteneur Spring
- Pratiques de conception.
- Spring dans l'écosystème Java EE.
- Les composants essentiels : core, accès aux donnés, webmvc, webflux.
- L'intégration aux autres technologies.
- L’environnement de développement.
- Les stratégies de déploiement.
- Au-delà de Spring Framework.
- Au-delà de Spring Framework : security, boot, data.
Gestion des beans avec Spring Core
- Le découpage en couches, l'approche POJO.
- La gestion de l'état. L'injection de dépendances.
- Les intercepteurs et la programmation orientée aspect.
- Le cache et la supervision avec JMX.
- Les invocations planifiées. Les profils. Test des beans Spring.
Travaux pratiques
Créer une application n-tiers avec Spring Core.
Accès aux données et gestion des transactions
- Couplages avec différentes technologies : JDBC, JPA, NoSQL.
- La gestion des transactions.
- Le support des transactions au sein des tests.
- Spring Data.
Travaux pratiques
Mise en place d’une couche de persistance avec JPA et Spring.
API REST avec Spring MVC et Spring WebFlux
- API REST : bonnes pratiques.
- Les bases du protocole HTTP.
- Mise en place de l' API REST.
- L'API Bean validation.
- La gestion des exceptions.
- La programmation réactive avec Spring Webflux.
Travaux pratiques
Développer une façade web exposant les services développés précédemment, consommation des web services REST par un client HTML/JavaScript.
Packaging et déploiement avec Spring Boot
- La gestion des dépendances.
- Les starters.
- La configuration automatique.
- L'environnement d'exécution.
- Le packaging (jar, war, image OCI).
- Le déploiement.
Travaux pratiques
Création d’un livrable Spring Boot à partir de l’API REST créée précédemment.
Spring Security
- Choix d'un référentiel utilisateurs.
- Modes d'authentifications (session, JWT)
- Sécurité applicative.
- Sécurisation des routes.
Travaux pratiques
Création de la sécurité sur le projet web.
Échanges de messages avec Spring Websocket
- Théorie, design patterns, le principe pub/sub.
- Présentation de STOMP et SockJS.
- Support et mécanismes de fallback.
- Mise en place côté serveur et côté client.
Travaux pratiques
Création d’un mécanisme de publish/subscribe.
IHM Web avec Spring MVC
- La validation avec l’API Bean validation.
- Rappel du pattern MVC.
- Les vues : accès au modèle, validation, internationalisation, gestion des exceptions.
Travaux pratiques
Création d'une application web exposant la couche métier développée précédemment.