Formation Spring Intermédiaire : Web Services REST + Persistance avec Spring Data JPA

icon public

Public : Développeurs Java EE

icon horloge

Durée : 5 jour(s)

Syllabus de la formation Spring Intermédiaire : Web Services REST + Persistance avec Spring Data JPA

Pré-requis : Maîtriser la programmation orientée objet en Java - Notions de SQL

Objectifs : Maîtriser l'utilisation de Spring Boot, Web et Security pour la construction de web services REST - Implémenter une couche performance de persistance de données dans une base relationnelle

Sanction : Attestation de fin de formation mentionnant le résultat des acquis

Taux de retour à l’emploi : Aucune donnée disponible

Référence : JAV101965-F

Taux de satisfaction : 4,72 / 5

Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins

Contact : commercial@dawan.fr

À partir de

1 075,00 € HT / jour

2 380,00 €HT

1 535,71 € HT

Pour 10 heures utilisables pendant 12 mois

2 975,00 € HT

Tarif plein:

  • Paiement à 60 jours
  • Report possible à J-3
  • 3 tickets d'assistance
Contacter Dawan
Logo Spring Intermédiaire : Web Services REST + Persistance avec Spring Data JPA

Programme de Formation Spring Intermédiaire : Web Services REST + Persistance avec Spring Data JPA

Comprendre l'architecture

Architecture en couches : du monolythe au microservices
Contraintes d'architecture des microservices
Gestion de l'authentification centralisée dans une architecture microservices
Intérêt d'une passerelle d'API
Gestion centralisée des traces

Développement de web services avec Spring Boot

Spring Boot : principe, fonctionnalités, pré-requis
Configuration du projet (.properties ou .yml) et utilisation de profils ou d'une configuration externe
Configuration de Logback pour la gestion des logs (logback.xml)
Organisation des couches du projet : controllers, services, repositories
Intérêt d'une couche de DTOs, utilisation d'un mapper d'objets
Implémentation de contrôleurs REST : mapping global ou spécifique, méthodes, types de retours, annotations jackson
Gestion des paramètres de méthodes et du mapping
Gestion du download
Gestion de l'upload, configuration
Gestion des services et des transactions associées
Gestion du cross origin et restriction des domaines appelants
Test de l'api REST avec Postman
Ecriture de tâches asynchrones, planification
Cache web

Atelier : Écriture de micro-services avec Spring web - Test des méthodes de services avec Postman ou autre

Documenter une API REST

Open API Specification (Swagger) : présentation, outil
Utilisation de Spring Doc Open API UI
Visualisation avec Swagger Editor
Documentation du code Java, génération de javadoc

Atelier : Documentation de l'api

Intercepter des requêtes et gérer les erreurs

ControllerAdvice et gestion globale des exceptions
Capture d'exceptions personnalisées (@ExceptionHandler)
Intercepteurs de requêtes/réponses

Atelier : Gestion des exceptions et implémentation d'intercepteurs

Appeler d'autres API REST (écriture de clients)

RestTemplate : présentation, méthodes
Ecriture de requêtes GET, POST, PUT, DELETE - utilisation de la méthode exchange()
Gestion des paramètres et du corps de la requête
Gestion des headers
Gestion des réponses et utilisation d'object mappers

Atelier : Implémentation de clients Java pour un service REST

Sécuriser un service web

Gestion des données d’entête
Gestion de la sécurité avec Spring Security
Gestion des utilisateurs et des rôles

Atelier : Intégration de Spring Security

Tester une application Spring Boot

Stratégies de tests, types supportés
Configuration de l'application
Mocking des couches de l'application
Tests auto-configurés
Exécution et reporting

Atelier : implémentation et exécution de tests

Configurer un projet Spring Boot pour intégrer Spring Data JPA

Spring Data JPA : Présentation, fonctionnalités, dépendances Maven
Configuration d'un projet Spring Boot
Propriétés par défaut et paramétrage
Gestion des logs avec Logback

Atelier : Intégration de Spring Data JPA dans un projet, configuration des traces

Réaliser le mapping des entités et des opérations

Mapping des tables et gestion des clés primaires (simples, composées)
Mapping des types de bases, propriétés des colonnes
Gestion de la concurrence : optimistic (versioning), pessimistic
Gestion des relations : OneToMany/ManyToOne, OneToOne, ManyToMany
Paramétrage des cascades
Gestion des collections : Map, Set, List,...
Mapping de l'héritage
Stratégies de chargement : Lazy ou Eager

Atelier : Réalisation d'un schéma global de mapping d'une base de données, opérations CRUD (Create Read Update Delete)

Ecrire des requêtes JP-QL ou SQL

Interface JpaRepository et ses dérivées, ancêtres : méthodes disponibles
Nommage de méthodes pour une auto-génération des requêtes
Requêtes JPQL ou natives avec @Query : jointures, paramètres, fetch
Repository personnalisé et injection de l'EntityManager
Gestion des procédures stockées

Atelier : Ecriture de repositories et test depuis des services ou des contrôleurs

Maîtriser des concepts avancées

Cache : fonctionnement, niveaux
Configuration du cache : @Cacheable
Mise en place d'une solution d'audit de tables (historique de modifications)

Atelier : Implémentation d'une couche complète de persistance - mise en place d'un cache

Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.

Lieu Date Remisé Actions
Distance Du 27/01/2025 au 31/01/2025 S'inscrire
Distance Du 12/05/2025 au 16/05/2025 S'inscrire
Distance Du 23/06/2025 au 27/06/2025 S'inscrire
Distance Du 18/08/2025 au 22/08/2025 S'inscrire
Distance Du 17/11/2025 au 21/11/2025 S'inscrire

Nos centres de formation

  • Bruxelles

    Rue de la Loi, 23

    1040 Bruxelles

  • Distance

    32 Boulevard Vincent Gâche

    44000 Nantes

  • Luxembourg

    5 Rue Goethe

    L-1637 Luxembourg

  • Bonne vue d'ensemble des fonctionnalités de spring, beaucoup de sujets abordés, j'aurai préféré manipuler un peu plus le projet mais les explications étaient claires et les démo explicites
  • Pierre-Yves C.