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