Spring Boot

Formation Spring Boot : consolider ses connaissances pour développer avec Spring Boot Mieux développer avec le framework Spring/Spring Boot

Consolider les connaissances Spring que possèdent déjà les stagiaires et leur permettre d’exploiter efficacement le framework Spring & Spring Boot en toute connaissance de cause.

Résumé

Langage et logiciel : JDK 19 et IDE IntelliJ
Durée : 4 jours, 28 heures
Objectifs :
 choisir judicieusement les starters pour démarrer une application Spring boot
 adapter l’auto-configuration de Spring Boot aux besoins du projet,
 utiliser de manière pertinente les annotations Spring sur les classes applicatives,
 exploiter les annotations Spring boot dédiées aux tests,
 savoir packager, déployer et monitorer une application Spring Boot
Pré-requis : Cette formation s’adresse à des développeurs possédant une première expérience dans le développement d’applications Spring.
Public : développeurs
Méthodes mobilisées : Chaque aspect théorique est illustré par un exemple concret de mise en œuvre puis exploité lors du développement incrémental d’une véritable application.
Modalités et délais d’accès : Sur inscription préalable au minimum 1 semaine avant le début de la formation selon disponibilité du formateur.
Modalités d’évaluations : Une évaluation du niveau des stagiaires est réalisée avant l’entrée en formation par téléphone ou au moyen d’un questionnaire. Évaluation des acquis et de la satisfaction en fin de formation.
Accessibilité aux personnes en situation de handicap ou présentant des difficultés d’apprentissage : nous pouvons proposer des solutions de compensation de nos prestations en adaptant les moyens pédagogiques, techniques et d’encadrement (les précisions).
Taux de satisfaction 2i2L : 96,34 % des stagiaires sont satisfaits à l’issue de leur formation.
Tarif : pour une demande de formation interne, nous consulter.

Programme

Fonctionnalités de base de Spring
 Configuration du conteneur d’IOC : enregistrement de beans, injection de dépendances, valorisation de propriétés
 Annotations versus classes de configuration : critères de choix
 Externalisation des valeurs des propriétés, utilisation des PropertyPlaceholder
 Intégration de JPA à l’aide Spring ORM et configuration des transactions
 Configuration de la couche web avec Spring MVC
 Développement d’API REST
 Spring Test pour les tests unitaires et d’intégration avec JUnit

Initialisation d’une application Spring Boot
 L’écosystème Spring et la complexité de sa configuration.
 Les starters : gestion implicite des versions et des infrastructures techniques par défaut
 Les principes de l’auto-configuration.
 Mise en œuvre de Spring Initializr, création du squelette d’une application web.
 @SpringBootApplication et la classe "application".
 Structuration du code, des packages, les bonnes pratiques.

L’auto-configuration
 Rôle des annotations @SpringBootConfiguration, @ComponentScan et @EnableAutoConfiguration
 Anatomie d’une classe d’auto-configuration, rôle des annotations @Conditionnal.
 Contrôle de l’auto-configuration, utilisation des fichiers application.properties et application.yml.
 Création de ses propres classes d’auto-configuration.
 Génération du rapport d’autoconfiguration
 Création de ses propres starters.

Concevoir une application Spring Boot
 Gestion de la configuration en fonction des profils.
 Configuration des traces : log4j2 versus logback.
 Utilisation de Spring Data JPA avec Spring Boot.
 Utilisation de Spring MVC avec Spring Boot.
 Mise en œuvre de Spring Data Rest.
 Configuration des infrastructures techniques “embedded” (base de données, serveur http).
 Configuration de la sécurité sur les API REST.
 Faciliter le développement à l’aide de Spring Boot DevTools.

Tester une application Spring Boot
 Auto-configuration des tests.
 Test de la persistance avec @DataJpaTest.
 Test d’intégration avec @SpringBootTest.
 Test des API REST avec @AutoConfigureMockMvc, @WebMvcTest et RestTemplate.

Packager et déployer une application Spring Boot
 Création d’un war pour un déploiement classique.
 Création d’un jar "self-contained" exécutable.
 Déploiement dans une image docker.
 Monitorer une application Spring Boot avec les endpoints d’actuator.
 Développer ses propres endpoints actuator
 Administrer des applications Spring Boot avec Spring Boot Admin