L'essentiel pour développer avec Spring Framework
Découvrez les fondamentaux de Spring en 5 jours
Cette formation vous permettra d'acquérir les bases nécessaires pour bâtir des applications web et REST avec Spring Framework et Spring Boot. Nous présentons ici les fonctionnalités essentielles qui vous permettront de démarrer avec Spring.
Si vous souhaitez découvrir Spring de façon plus approfondie, nous vous suggérons la série de cours "Maîtriser Spring Framework", qui couvrent notamment les sujets Spring AOP, Spring Data et Spring Security.
Objectifs pédagogiques
Participants
Développeurs, chefs de projet
Prérequis
Des connaissances en programmation Java
Travaux pratiques
Les exercices sont organisés autour d'une application web et une base de données qui seront fournies aux participants. Cette application sera enrichie au fil des exercices par les différentes techniques Spring abordées dans le cours. Les travaux pratiques sont réalisés avec Eclipse ou IntelliJ.
Programme
Présentation du projet Spring Framework
Genèse du projet, positionnement vis-à-vis de Jakarta EE
L’écosystème Spring, les principaux modules et sous-projets
Concepts fondamentaux, du composant lourd au conteneur léger
Patterns inversion de contrôle (IoC) et injection des dépendances (DI)
Principe de la programmation orientée aspect (AOP)
Mise en œuvre du conteneur Spring
Comprendre la bean factory et l'application context
Installer le framework sur un projet, dépendances Maven
Déclarer des beans, injecter des dépendances et des valeurs
Configuration au format XML, configuration par annotations
Classe de configuration pour une approche full Java
Les différentes techniques d'injection
Sélectionner un bean avec un qualifier
Activation conditionnelle avec les profils
Spring Expression Language (SpEL) pour plus de flexibilité
Démarrer le conteneur Spring dans une application
Intégration dans un environnement web à base de servlet
Se connecter à une base de données avec un bean Spring
Cycle de vie, méthodes de callback, portée des beans
Externaliser des propriétés dans un fichier properties
Persistance des données avec Spring
Le pattern DAO pour isoler les opérations d'accès aux données
Vue d'ensemble de la gestion de la persistance avec Spring
Requêtes SQL avec Spring JDBC, les classes JdbcTemplate et JdbcClient
Gestion transactionnelle, notion de propagation de la transaction
Les règles de validation et annulation vis-à-vis des exceptions
Intégrer une couche d'accès aux données avec JPA (Hibernate)
Spring Data JPA pour simplifier l'écriture des DAO
Application Web avec Spring MVC
Principe et configuration spécifique de la couche Spring MVC
Implémenter un controller pour traiter des requêtes HTTP
Passer des paramètres et des variables de chemin
Intégrer une technologie de vue (JSP, Thymeleaf)
Taglib Spring pour les JSP, syntaxe des templates Thymeleaf
Traitement d'un formulaire à l'aide d'un form bean
Validation des données saisies avec l'API Bean Validation
Gestion des données de session dans un controller
Définir un handler pour gérer les exceptions
Écrire une ressource REST avec un controller Spring
Traitement des codes HTTP et du format de représentation
Marshalling XML avec JAXB, marshalling JSON avec Jackson
La classe WebClient pour invoquer un service REST
Tester une application Spring
Tests unitaires avec Spring, les classes utilitaires
Tests d'intégration, gestion de l'application context
Support JDBC pour les tests avec une base de données
Tester la couche MVC d'une application Spring
Application Spring Boot
Simplifier la mise en oeuvre des applications Spring
Créer un projet Spring Boot avec Spring Initializr
Gestion des dépendances Maven avec les starters
Structure d'un projet Spring Boot, classe de démarrage et ressources
Comprendre le mécanisme d'auto-configuration
Personnaliser la configuration par fichier properties ou yaml
Configurer le port du serveur, une data source, le logging
Tests d'intégration dans un environnement Spring Boot