Mettre en oeuvre le pattern repository avec Spring Data
Les applications Java accèdent régulièrement à des données mais en les manipulant en tant qu'objets. Cela suppose une couche d'abstraction, le pattern repository représente cette abstraction. Spring Data en fournit plusieurs implémentations, aussi bien pour les bases de données relationnelles que NoSQL.
Ce cours vous permettra de maitriser ce pattern repository et de le mettre en oeuvre avec Spring Data.
(10,5 heures)
Développeurs et développeuses Java, architectes
Accessible aux personnes en situation de handicap
DélaiLe cours peut être organisé dans un délai d'un mois.
Objectifs
A l'issue du cours vous saurez:- déclarer un repository Spring Data;
- enrichir un repository de requêtes personnalisées;
- utiliser des repository dans la couche business d'une application;
- exposer des repository sous la forme d'une API REST.
Prérequis
Ce cours demande une connaissance solide des bases de la programmation Java (principes de la programmation orientée objet, types génériques, annotations, expressions lambda), de Spring et Spring boot et une habitude de travailler avec Eclipse ou IntelliJ.
Méthodes pédagogiques
- Explication, pour chaque concept, du problème qu'il prétend résoudre.
- Mise en pratique d'un concept immédiatement après qu'il ait été présenté.
- Validation de chaque étape par exécution de tests unitaires.
- Exercice « fil rouge » pour obtenir en fin de cours une application complète.
- QCM en fin de chapitre pour s'assurer de l'acquisition des connaissances.
Programme détaillé
Introduction
- Les différents types de base de données (SQL, NoSQL).
- L'exécution non bloquantes des opérations I/O.
- Le rôle d'un pool de connexions.
- Les transactions et les principes ACID.
- Le mapping objet / base de données.
- Présentation du pattern Repository et de Spring Data.
Mise en pratique: prise en main d'une application Spring (accès aux données, API REST, tests).
Les repositories Spring Data
- le mapping des entités du modèle vers la base de données avec les annotations Spring.
- Les opérations create, read, update, delete.
- La pagination et le classement pour réaliser des requêtes paginées.
- les requêtes par l'exemple pour les recherches multicritères.
- Les requêtes dérivés pour les recherches personnalisées.
- L'annotation
@Query
pour les requêtes natives. - L'application des transactions.
- Les spécificités de deux déclinaisons de Spring Data: Spring Data JPA et Spring Data ElasticSearch.
Mise en pratique: création de repositories JPA et ElasticSearch, utilisation de ces derniers dans une application backend.
L'extension Spring Data REST
- Principe.
- Les projections pour controler la représentation des ressources.
- Les recherches.
- La gestion des erreurs et le mapping vers les codes HTTP.
- Les observateurs d'évènements.
Mise en pratique: utilisation de Spring Data REST pour exposer les repositories en REST.
Prix et financements
2 12
Réduction de 50% pour les associations reconnues d'utilité publique.
Sources de financements pour les organisations françaises:
- prise en charge tout ou partie du coût de la formation par votre opérateur de compétence (OPCO);
- Le dispositif FNE formation si votre organisation est éligible.
- Le plan de développement des compétences de votre entreprise (renseignez-vous auprès de votre service RH).