- ACN_ATLAS
- Cours pratique
- Informatique
Formation Spring : Développer avec le framework Spring
Développer facilement des applications d'entreprise Java EE avec Spring Framework

- Durée
- 5 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation Spring
Spring est actuellement le framework Java le plus utilisé pour le développement d'applications d'entreprises. Il a toujours offert une alternative à la complexité de Java EE. Ses atouts : augmenter la productivité du développeur, faciliter les tests, améliorer les performances, faciliter l’intégration de technologies.
Spring est construit principalement autour de trois designs patterns clés : l'inversion de contrôle ou injection de dépendance, la programmation orientée aspect et des couches d'abstraction identifiant tous les besoins d’une application d’entreprise (Persistance, Messaging, Sécurité, Tracing, API d’IA etc.).
Cette formation démarre par une revue en profondeur des concepts de bases du framework Spring. Ce chapitre primordial permet de démystifier l’aspect magique de Spring et de comprendre les mécanismes sous-jacents utilisés dans les chapitres qui suivent. Ensuite, chaque chapitre est consacré aux différentes couches logicielles des applications développées actuellement en entreprise, la persistance des données, la couche web, la sécurité et les tests tout en prenant conscience de la grande souplesse dans l’utilisation des différents modules de Spring qui n'impose rien. Les mécanismes d’auto-configuration apportés par SpringBoot, l’accélérateur de projet Spring, sont détaillés dans chaque chapitre. En effet, Spring souffre d’une certaine complexité dans le paramétrage qui a fait éclore Spring Boot (basé sur des choix de paramétrage standard). Cependant sans connaissance de Spring il est difficile de savoir ce que l’on peut modifier, désactiver ou surcharger que ce soit au niveau de l’injection de dépendances, des beans, du contexte applicatif, etc. et bien sûr des annotations si présentes dans Spring. Le format de 5 jours permet d’aborder ainsi de vous préparer sereinement à l’utilisation de Spring Boot avec efficacité et recul dans vos projets tout en disposant d’une bonne maîtrise technique de Spring.

Objectifs pédagogiques
À l'issue de cette formation Spring, vous aurez acquis les connaissances et compétences nécessaires pour :
- Comprendre le fonctionnement de Spring
- Connaître les bonnes pratiques de développement avec Spring
- Savoir configurer les composants d'une application avec Spring
- Implémenter un service d’accès aux données
- Gagner en efficacité avec Spring Boot
- Sécuriser l'application
- Savoir mettre en œuvre des tests avec Spring
Objectifs opérationnels
Savoir mettre en œuvre le framework Spring et les bonnes pratiques associées.
Programme
Contenu du cours, module par module
12 modules
- La genèse du projet, son positionnement vis à vis de Java EE
- L’offre de Pivotal Software, les cas d’usage du framework, les 10 commandements d’un projet Spring
- IoC et l’injection de dépendance : Le design pattern au cœur du framework
- Les types d’injections supportés par Spring
- Spring en tant qu’Usine à Bean, de conteneur léger
- Comment configurer le framework : XML, annotations, l’auto-configuration avec Spring Boot
- Spring : Un conteneur léger
- Parcours des APIs BeanDefinition, BeanFactory et ApplicationContext
- Le cycle de vie des beans
- L’interface Environment : propriétés de configuration et profils
- Les autres fonctionnalités coeur : SpEl, Messages, Chargement de ressources
- Configuration legacy via XMLµ
- Configuration via annotations. @Configuration et @Bean
- @Component et ses différents stéréotypes
- Injecter des dépendances via les annotations : @Autowired, @Resource, @Inject
- L’injection implicite par constructeur
- Annotations pour les profils, leur cas d’usage, les modes d’activation
- Les concepts de l'AOP, les problèmes résolus pas l’AOP
- La terminologie utilisée : aspect, joinpoint, advice, shortcut, weaving
- Les différents types d'« advice » : around, before, throws, after
- Quel est le support de l’AOP dans Spring ?
- Configuration XML, bénéfices/inconvénients
- Intégration avec le framework @AspectJ, l’AOP via les annotations
Ateliers
Maîtriser la configuration via les annotations
Comprendre la technologie AOP et son utilisation par le framework
Description : Développement de 2 beans, configuration XML
Tracing du cycle de vie des beans
Reprise de la configuration via des annotations
Mise en place de 2 profils (jdbc et csv)
Développement d’un aspect @Profilable
- Le principe de l’auto-configuration, application à Java
- Comment démarrer ? Spring Initializr et les starters disponibles
- Un unique fichier : Gestion des propriétés de configuration
- Assistance de L’IDE Spring Tools Suite
Atelier
Prendre en main toutes les facilités apportées par l’IDE STS
Description : Création d’une application web via l’assistant
Assistance de l’éditeur pour la configuration de l’application
Configuration du trace
Exécution en mode DEBUG
- L’objectif de Spring Data, les abstractions Repository et CrudRepository
- Les alternatives pour le requêtage des objets du domaine
- Application à JPA : Spring Data JPA
- Les classes de support fournis : JdbcTemplate, HibernateTemplate
- Comment gérer les transactions, l’annotation @Transactional
- Les apports de l’auto-configuration SpringBoot pour configurer les DataSource
- Application à NoSQL : Spring Data MongoDB
- Requêtage et classe de support
- Les apports de l’auto-configuration SpringBoot, Un MongoDB embarqué
Ateliers
Comprendre les alternatives pour l’implémentation de la persistance avec Spring
Description : Récupération des classes modèles du domaine
Déclaration d’interface JpaRepository et utilisation lors de test
Implémentation d’une transaction métier dans un bean @Service
Implémentation d’un MongoDbRepository et utilisation lors de test
- Spring MVC pour les applications Web
- Rappels du pattern architectural MVC, implémentation dans Spring
- Comment écrire un contrôleur Spring ?
- L’auto-configuration SpringBoot et sa personnalisation avec WebMvcConfigurer
- Résolution des vues, l’exemple de Thymeleaf,
- Gestion des locales et des thèmes, traitements des exceptions, Page d’erreur
- Les spécificités des contrôleurs REST
- Configuration typique : le CORS
- Ne pas négliger la sérialisation JSON : Personnalisation via les annotations de la librairie Jackson
- Documenter automatiquement son API avec SpringDoc et OpenAPI
- Interroger une API Restful avec la classe de support RestTemplate
Ateliers
Implémenter une API Rest et publier sa documentation via OpenAPI
Développer un client REST
Description : Implémentation de la séquence web, affichage puis POST de formulaire
Implémentation des fonctionalités CRUD dans un RestController
Gestion centralisée des exceptions
Mise en place SpringDoc et test de l’API via Swagger
Développement d’un client REST
- Concepts AI
- Modèle disponibles (Chat Embeding, Image, Audio, ..)
- Mémoire de chat
- Invocation d’outils, protocole MCP
- RAG et BD vectorielle
Ateliers
Description : Développement d’une application Web de type chatbot interagissant avec OpenAI et utilisant la mémoire de chat
- Les apports de SpringSecurity et concepts de base
- L’auto-configuration de SpringBoot, les filtres de protection
- Les différentes alternatives pour l’authentification, l’objet SecurityContext
- La sécurité Web via le bean SpringSecurityFilterChain, comprendre sa configuration, savoir debugger la sécurité
- GrantedAuthoriry vs Role
- Mise en place : Sécurité stateful ou sécurité Stateless ?
- Le protocole oAuth2 et le standard JWT
- Le support d’oAuth2 dans Spring5
- Protection de la couche métier, mécanisme et mise en place
Ateliers
Savoir configurer le filtre securityFilterChain
Comprendre le support de Spring pour oAuth2
Description : Activation de la sécurité et configuration par défaut
Définition des ACLs d’une sécurité stateful
Utilisation d’un gestionnaire d’authentification personnalisée
OpenID/oAuth2 : « Se connecter avec Google »
oAut2Resource : Définition des ACLs par rapport à un Jeton oAuth
- Les apports de Spring-test , Le contexte SpringBoot
- L’annotation @SpringBootTest, quel est le mécanisme de détection de configuration, les cas d’usages qui en résultent
- Mocking des beans : souvent deux usages
- Tests d’intégration par couche avec les tests auto-configurés,
- Tester une API sécurisée par SpringSecurity
Atelier
Savoir tester en isolation toutes les couches d’une application web
Description : Test couche persistance
Test sérialisation Json
Test couche contrôleur
Test système complet
- Pour les Ops : le starter actuator
- Se préparer pour la production, l’objectif build-info du plugin Maven
- Les différents formats de packaging, le support du plugin Maven ou Gradle
- La SISE en service d’application SpringBoot
- Création d’une image docker, document manifest kubernetes typique
Atelier
Comparer les alternatives de déploiement
Description : Mise en place actuator, configuration Maven
Création d’exécutable jar et exécution
Création image docker et exécution
Travaux pratiques
L’approche pédagogique repose sur la pédagogie active et le développement itératif : les stagiaires construisent au fil des jours une application complète intégrant toutes les briques du framework Spring que ce soit autour des données (Spring Data), du Web (Spring MVC) ou encore des API et des tests. Chaque concept est abordé à travers un apport théorique concis qui cherche toujours à expliquer ce que devrait faire un développeur Java « sans Spring » sur les différents chapitres et qui amène progressivement l’intérêt de Spring Boot. On pose donc toujours une problématique avant d’y répondre.
Les ateliers favorisent la confrontation avec des situations professionnelles réalistes : configuration avancée, sécurité OAuth2, APIs REST, intégration MongoDB, réactivité (Webflux), tests et déploiement Docker et permettent durant toute la session de donner une dimension « métier » à la formation.
Programme mis à jour le 10/12/2025
Public concerné
Les participants à cette formation possèdent une bonne connaissance de Java concrétisée dans un ou plusieurs projets professionnels préalables. Pour profiter pleinement de tous les chapitres, les apprenants doivent être sensibilisés aux problématiques web, d’accès aux données (persistance) et de tests d’application. Ces connaissances limiteront les risques de blocage sur les problématiques propres à Java en vue de se concentrer pleinement sur Spring.

Prérequis
Ce cours s’adresse principalement aux développeurs et chefs de projet Java souhaitant utiliser le framework Spring pour faciliter le développement et les tests de leurs applications dans un contexte Java. Le cours intéressera également les architectes Java SE / Java EE ayant à penser l’infrastructure des applications Java d’entreprise.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,6/5
48 avis
« Mon avis sur le formateur : "Formation très riche et très intéressante, un grand merci à Laurent qui a su l'animer parfaitement en alternant les phases "supports" et les phases "TP". Il a également fourni bon nombres d'exemple qui permettent de contextualiser des thématiques moins concrètes. Une très bonne formation." Ce que j'ai le plus apprécié : "VM fluide, plusieurs projet "prêt à l'emploi" pour approfondir les thématiques" »
AHMED ArnaudINETUM « Mon avis sur le formateur : "L'animateur a du s'adapter au mieux, malgré une formation qui aurait du être plus longue (5j java+3j Spring au lieu de 2j ) , du à une non prise des pré-requis par ma hiérarchie. Je me sens en fait partiellement opérationnelle, du fait de la durée courte de la formation, qui n'est pas du à PLB ou au formateur." »
GF « Mon avis sur le formateur : "L'animateur est très sympathique et surtout très compétent et pédagogue. Il s'est parfaitement adapté à nos demandes et contraintes en cette période de télétravail." Mon avis sur la salle de formation : "Formation à distance, les outils utilisés sont suffisamment performants pour répondre à cette contrainte." »
HOUEL MaximeINFORMATIQUE CDC
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- Spring AI : Intégrer les modèles d'IA dans vos applications SpringRéf. SJIA2 joursFondamental1 590 €
- Spring avancé, programmation réactiveRéf. SPAV2 joursIntermédiaireProchaine session : 29 oct.1 590 €
- Spring BatchRéf. SJBA1 jourIntermédiaireProchaine session : 4 nov.790 €
- Spring Boot : Accélérez vos développements avec Spring BootRéf. JDSB3 joursIntermédiaireProchaine session : 12 oct.2 090 €