Découvrir Spring Boot
Galaxie Spring: présentation, apports
Spring Core: inversion de contrôle et injection de dépendances
Spring Boot: principe, fonctionnalités, pré-requis
Création d'un projet avec Spring Initializr
Intégration avec Maven
Structure d'une application Spring Boot: standalone, webapp
Les starters, Auto-configuration
Présentation de Spring CLI
Mise en place de l'environnement
Exécution d'une application Spring Boot via Spring CLI, via STS ou Maven
Atelier: Installation de l’IDE (Eclipse STS), définition de projets et utilisation des starters
Configurer Spring Boot
Options pour la configuration (.properties vs YAML)
Bannière ASCII
Propriétés par défaut
Démarrage automatique
Debug, Configuration des traces
Gestion du rechargement à chaud
Persistance des sessions entre redémarrages
Atelier: configuration de projets (.properties) et gestion du rechargement
Mapping d’entités avec Spring Data JPA
JPA: présentation, apports
Providers disponibles: Hibernate, Eclipse Link
Configuration des properties de Spring Boot
Mapping des entités
Mapping des propriétés: clés primaires, colonne
Gestion de la concurrence: version, lock
Mapping des relations: OneToMany/ManyToOne, OneToOne, ManyToMany
Gestion du chargement des collections: lazy vs eager
Gestion de l’héritage: stratégies, implémentation
Atelier: mapping de plusieurs modèles physiques de données
Implémenter des requêtes sur les données de la base
Création de classes d’accès aux données: @Repository
Apprentissage du langage JPA-QL
Implémentation de requêtes personnalisées
Utilisation de procédures stockées
Organisation des couches de l’application: présentation/services/accès aux données
Atelier: Implémentation d’une couche complète de persistance
Développer des micro-services avec Spring Web
Utilisation des RestController
Gestion des paramètres et du mapping
Gestion des types de retour
Gestion des erreurs
Documentation du service web
Atelier: Écriture de micro-services avec Spring web
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
Mettre en production un service
Gestion du cache
Gestion des logs
Déploiement: packaging, exécution, profils, Spring
Boot Actuator
Atelier: déploiement de micro-services
Écrire des clients de services web
API Jersey
Utilisation de la classe client
Gestion des envois de paramètres et types de retours
Atelier: implémentation de clients Java pour un service REST