Prérequis
Connaissance de Java/Java EE
Durée
3 jours
Contenu Technique de la Formation
La formation aborde les contenus techniques suivants :
- Configuration automatique
- Adaptation aux besoins du projet
- Tests
- Packaging et déploiement Spring Boot
Objectifs de la Formation
Les objectifs visés par cette formation sont :
- Mettre en place un projet Spring Boot
- Utiliser la configuration automatique
- Adapter la configuration aux besoins spécifiques d’un projet
- Mettre en place le développement de tests
- Packager et déployer une application Spring Boot
Table des Matières
Rappels sur la configuration Spring classique
- Configuration par fichiers XML, par annotations ou classes de configuration
- Paramétrage de la configuration, utilisation des PropertyPlaceholder
- Configuration de la couche de persistance, DataSource et EntityManagerFactory
- Configuration de la couche métier et des transactions
- Configuration de la couche web, Controller et RestController, Spring Security
- Les tests unitaires et d’intégration : SpringTest, MockMvc
Initialisation d’une application Spring Boot
- L'écosystème Spring et la complexité de sa configuration
- Principe de "convention over configuration"
- Starters et auto-configuration
- Mise en œuvre de Spring Initializr, création d’une application web simple
Gestion des dépendances et de l’auto-configuration
- Organisation des dépendances Maven, gestion transparente des versions
- Structuration du code, les bonnes pratiques
- Rôle des annotations @SpringBootApplication et @EnableAutoconfiguation, la classe "application"
- Anatomie d’une classe d’auto-configuration, rôle des annotations @Conditionnal
- Contrôle de l’auto-configuration, utilisation des fichiers de propriétés application.properties et application.yml
- Création de ses propres classes d’auto-configuration
Concevoir une application Spring Boot
- Définition des profils
- Configuration des traces : log4j2 versus logback
- JPA et Spring Data JPA avec Spring Boot
- Spring MVC avec Spring Boot
- Configuration des infrastructures techniques “embedded” (base de données, conteneur de servlets)
- 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
- Monitorer une application Spring Boot avec Actuator
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
Introduction à Spring Cloud et aux architectures micro-services
- Architecture distribuée et micro-services, patterns d’architecture micro-services
- Tour d’horizon de Spring Cloud
- Externaliser les configurations et gérer leurs versions avec Spring Cloud Config
- Enregistrer et localiser dynamiquement des services avec Spring Cloud Netflix
- Mettre en œuvre une répartition de charge avec Spring Cloud LoadBalancer
- Créer une API Gateway avec ZUUL et sécuriser son accès avec Spring Security
- Dernière ligne enlevée
En Pratique
- Création d’une application Spring Boot
- Modélisation d’une application
- Organisation des packages et création d’une classe application
- Gestion de la configuration spécifique
- Infrastructures techniques embedded
- Mise en place de tests unitaires et d’intégration
- jar autoexécutable et déploiement sur une image Docker
- Conception d’une application avec une architecture micro-services
Modalités et Inscription
Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :
Session régulière
Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.
Sur mesure & intra-entreprise
Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.