Spring Boot

Spring Boot : Simplifier le démarrage, le développement, la configuration et le déploiement d'un projet Spring

  • Filière :

    Développement logiciel

  • Sous-filière :

    Java & XML

  • Référence

    JF-SPRB

  • Durée

    3 jours (21 h)

  • Prix unitaire HT

    1 950 € HT

Objectifs pédagogiques

  • Mettre en œuvre le module Spring boot
  • Développer des applications riches avec Spring
  • Maîtriser la configuration et la sécurité

Public cible

  • Architectes
  • Développeurs

Pré-requis

Posséder des connaissances de base sur Spring Core

Programme de la formation

Introduction

  • Rappels Spring

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

  • Spring Boot et JUnit

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

Qualité

Cette formation est accessible aux personnes en situation de handicap, nous contacter en cas de besoin d’informations complémentaires.

Programme mis à jour le