Objectifs de formation
A l’issue de cette formation, vous serez capable de :
- Identifier les configurations nécessaires par typologie de projets Java
- Prendre en main la configuration automatique de Spring Boot
- Minimiser les actions anciennement requises pour réussir un déploiement rapide de projets Java
- Refactorer de façon absolue le volume de code réalisé à fonctionnalités égales avec l'approche de développement existante.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Prérequis
Avoir de bonnes aptitudes à développer en Java/JEE. Avoir suivi la formation SPRG-INTRO "Introduction au Framework Spring" ou avoir les connaissances équivalentes.
Public concerné
Développeurs Java, chefs de projets et architectes techniques.
Programme
Jour 1
Rappels sur les pratiques de configuration empiriques
- Le chargement des fichiers de propriétés
- Les configurations de la couche :
- De persistance
- Business
- Contrôleur
- La gestion des logs à l'ancienne
- Les configurations niveau serveur d'application
- La gestion manuelle de la retro et compatibilité ascendante des librairies
Configuration minimaliste d'une application Spring Boot
- L'univers Spring et la complexité de sa configuration
- Les composants de type Starters et auto-configuration
- Les librairies requises dans le pom.xml (ou build.gradle)
- Utilisation de Spring Initializr pour créer une application Web
Le coeur de fonctionnement de Spring Boot
- Organisation des dépendances, gestion transparente des versions
- Les bonnes pratiques de développement prônées par Spring Boot
- Rôle des annotations @SpringBootApplication et @EnableAutoconfiguation
- Le principe de fonctionnement de la classe Application
- Contrôle de l'auto-configuration, utilisation des fichiers application.properties (ou application.yml)
- Surcharge (voire personnalisation) des classes d'auto-configuration
Exemples de travaux pratiques (à titre indicatif)
- Répondre au QCM de généralités Spring
- Répondre au QCM sur les grosses fonctionnalités apportées par Spring Boot
- Installer l'environnement requis pour développer sous Spring Boot
- Réaliser un mini TP de configuration d'un projet Spring Boot (Hello World)
Jour 2
Construire une application Spring Boot par typologie de projet
- Mise en place des profils
- Gestion des traces : log4j2 ou logback
- Spring Data JPA avec Spring Boot
- Spring REST et Spring Boot
- Spring REST couplé à Spring Security et Spring Boot
- Spring MVC avec Spring Boot
- La contribution du plug-in STS (Spring Tool Suite) pour l'aide au développement accéléré
Exemples de travaux pratiques (à titre indicatif)
- Compléter le TP précédent avec la configuration d'une datasource (SGBD MySQL)
- Partir d'une table en base de données et proposer un DAO permettant de remonter la liste d'éléments
- Proposer une API REST exposant la liste issue du TP n°2 (précédent)
Spring Boot et les tests
- Automatiser les tests
- Les annotations requises pour les tests d'intégration
- Les annotations utiles pour les tests de persistance
- Test des API REST avec @AutoConfigureMockMvc, @WebMvcTest et RestTemplate
Packaging et déploiement d'une application Spring Boot
- Création d'un war pour un déploiement simplifié
- Création d'un jar "self-contained" auto-exécutable
- Lancement d'un jar avec fichier de configuration externe (en ligne de commande)
- Un exemple de démarrage d'un jar Spring Boot avec Docker
Exemples de travaux pratiques (à titre indicatif)
- Coder le test unitaire des couches "mockées" permettant de tester unitairement l'API du TP n°3 (ci-dessus)
- Construire le jar du projet et le faire tourner hors Eclipse
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation.