
Accès et persistance des données
Explorez la persistance des données dans Spring Boot : Spring Data, JPA, JDBC, NoSQL (MongoDB, Redis), transactions et migrations de bases de données.
Plongée au coeur des données avec Spring Boot
Après avoir exploré la construction d'applications web et d'API avec Spring Boot, nous abordons maintenant un aspect fondamental de la quasi-totalité des applications : l'accès et la persistance des données. Qu'il s'agisse de stocker des informations utilisateur, des catalogues produits, des configurations ou des logs, interagir avec une base de données ou un autre type de datastore est une nécessité courante.
Cette troisième partie est entièrement dédiée à la manière dont Spring Boot, grâce à la puissance de l'écosystème Spring Data, simplifie et standardise l'interaction avec diverses technologies de persistance. Fini le code boilerplate répétitif pour ouvrir des connexions, gérer les transactions ou mapper les résultats ! Spring Data offre une abstraction élégante et productive.
Explorer l'écosystème Spring Data
Nous commencerons par une introduction générale à Spring Data (Chapitre 9), en découvrant sa philosophie basée sur le concept de Repository et son architecture modulaire qui prend en charge un large éventail de technologies de stockage.
Ensuite, nous nous concentrerons sur les bases de données relationnelles, en explorant en profondeur Spring Data JPA (Chapitre 10). Nous verrons comment configurer une source de données, mapper des entités avec JPA (souvent via Hibernate), définir des repositories, et exécuter des requêtes de manière déclarative ou personnalisée. Nous aborderons également l'alternative plus légère qu'est Spring Data JDBC (Chapitre 11), idéale pour des besoins plus simples ou un contrôle plus fin sur le SQL.
Le monde des données ne se limitant pas au relationnel, nous étudierons l'intégration avec des bases de données NoSQL populaires (Chapitre 12), en nous concentrant sur MongoDB et Redis, et en découvrant comment Spring Data étend son modèle de Repository à ces technologies.
Garantir l'intégrité et l'évolution
La manipulation de données en environnement concurrentiel nécessite une gestion rigoureuse des transactions. Le Chapitre 13 détaillera comment Spring simplifie la gestion transactionnelle, notamment avec l'annotation @Transactional, et abordera les concepts d'isolation et de propagation.
Enfin, pour gérer l'évolution du schéma de votre base de données de manière contrôlée et reproductible au fil du développement et des déploiements, nous introduirons deux outils incontournables : Flyway et Liquibase (Chapitre 14), et verrons comment les intégrer facilement dans un projet Spring Boot.
Cette partie vous fournira les connaissances et les outils nécessaires pour interagir efficacement et de manière robuste avec différentes sources de données dans vos applications Spring Boot.