Objectifs pédagogiques
- À l’issue de la formation, le participant sera en mesure de :
- Comprendre les couches d'une application n-tiers
- Mise en œuvre d'API REST, d'application MVC
- Assurer la persistance des données
- Sécuriser une application
- Comprendre les relations entre Spring et les API Jakarta EE
- Gagner en efficacité avec Spring Boot
Public concerné
Développeurs Java/Jakarta EE.
Prérequis
Bonnes connaissances en développement Java. Expérience requise en développement d'applications d'entreprise.
Programme de la formation
Le conteneur Spring
Pratiques de conception.
Spring dans l'écosystème Jakarta EE.
- Les composants essentiels : core, accès aux donnés, webmvc.
- L'intégration aux autres technologies.
- L’apport de Spring boot : la gestion des dépendances Maven, la configuration automatique.
- L’environnement de développement.
- Les stratégies de déploiement : JAR, image OCI, application native.
Gestion des beans avec Spring Core et Spring boot.
- 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 et Spring Boot.
Accès aux données et gestion des transactions
- L’accès à une base de données relationnelle depuis une application Spring
- La gestion des transactions.
- Le support des transactions dans les tests.
- Introduction à Spring Data.
Travaux pratiques
Mise en place d’une couche d'accès aux données avec Spring.
API REST avec Spring MVC et Spring WebFlux
- Bonnes pratiques de conception d'une API REST.
- Mise en place de l'API REST.
- La validation avec l'API Jakarta validation.
- La gestion des exceptions.
- Introduction à la programmation réactive avec Spring Webflux.
Travaux pratiques
- Développer une API exposant les services développés précédemment, consommation des web services REST par un client HTML/JavaScript.
IHM Web avec Spring MVC
- Rappel du pattern MVC.
- La validation avec l’API Bean Jakarta validation.
- Les vues : accès au modèle, internationalisation, gestion des exceptions.
Travaux pratiques
Création d'une application web exposant la couche métier développée précédemment.
Spring Security
- Définition d'un référentiel utilisateurs.
- Modes d'authentifications (session, JWT).
- Sécurisation des routes.
- Tests d'une application sécurisée.
Travaux pratiques
Application 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.
- Mise en place côté serveur et côté client.
Travaux pratiques
- Création d’un mécanisme de publish/subscribe entre une application Spring MVC et un front end HTML/Javascript.
Projet final
Vous apprendrez à utiliser le framework Spring pour développer des applications modernes, robustes et scalables. Vous aborderez la programmation réactive avec WebFlux, apprendrez à créer des IHM, mettrez en place une API REST avec Spring MVC et mettrez en œuvre la sécurité avec Spring Security.
Nous couvrirons les cours suivants: