Spring Boot : Simplifier le démarrage, le développement, la configuration et le déploiement d'un projet Spring
Programme
Introduction
Le projet Spring Boot
Création d’une application Spring Boot
- Spring Initializr
- Spring Tool Suite
- Les projets Maven
- La classe principale
- L’exécution
- Le packaging
Concepts fondamentaux
- Convention over configuration
- L’auto configuration
- Les starters
Injection de dépendance
- Le couplage faible
- Types d’injection de dépendances
- La définition via Java Config
- Cycles de vie
- Les profiles
Configuration des propriétés
- Propriétés de configuration
- Fichiers properties ou Yaml
- Les priorités de définition
- La bannière Spring Boot
Journalisation et traces
- Configuration des traces
- Utiliser une implémentation
Spring Boot Devtools
- Redémarrage automatique
- Utilisation distante
Application Web avec Spring MVC
- Rappels MVC
- Architecture générale de Spring MVC
- Les contrôleurs
- Le mapping avec une requête
- L’extraction de données de la requête
- Le format des données
- Le templating avec Thyemeleaf
Spring Boot et Spring MVC
- Les apports de Spring Boot
- Personnalisation de la configuration
- Contenu statique et webjar
Conteneur de servlets
- Choix du conteneur
- Configuration du conteneur
- Graceful shutdown
Persistance avec Spring Data
- Les repositories
- Stratégie de déduction des requêtes
- La définition des méthodes
- L’annotation @Query
Configuration d’une source de données
- Support pour une base embarquée ou externe
- Configuration du pool de connexions
Spring Data JPA
- JPA Repository
- Mots clés supportés pour JPA
- Les annotations @Query et @NamedQuery
- Les projections
- Le support de l’API Criteria
- La gestion des transactions et des verrous
- L’implémentation personnalisée d’un repo
Services REST avec Spring MVC
- Les contrôleurs
- La sérialisation JSON avec Jackson
- La gestion des erreurs
Invocation d’un service REST distant
- La classe RestTemplate
- La classe WebClient
Documenter une API
- Le support de Swagger avec SpringFox
- La configuration
- Swagger UI
CORS
- Présentation
- Support dans une application Spring
Spring Data REST
- HAL
- L’API exposée
- La configuration et la personnalisation
Cache
- Activation et mise en œuvre
- Le gestionnaire de cache
Tests automatisés
Tests unitaires
- Avec JUnit, Mockito et Maven
Tests d’intégration
- Les annotations de Spring Boot
- Les tests d’intégration avec Maven
- Les tests avec des données JSON
Tests d’intégration de services REST
Tests d’intégration d’un client REST
- L’annotation @RestClientTest
- La classe MockRestServiceServer
Tests d’intégration des repository
- L’annotation @DataJpaTest
- L’initialisation de la base de données de test
Déploiement
Spring Boot Actuator
- Les endpoints
- La configuration des endpoints
- Les endpoints personnalisés