Spring est devenu le framework incontournable pour le developpement d’applications Java en entreprise. Cette formation d’initiation vous guide depuis les fondamentaux de l’injection de dependances jusqu’a la creation d’applications web completes avec Spring Boot, Spring MVC et Spring Security. Vous apprendrez a structurer une application en couches, a acceder aux donnees avec Spring Data JPA, et a securiser vos endpoints, avec une mise en perspective des evolutions Spring 5/6 et Boot 2/3.
Public visé
Développeurs, architectes et chefs de projets techniques.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Décrire le positionnement de Spring par rapport à Jakarta JEE
- Créer des applications à architecture en couches
- Implémenter la programmation orientée aspect
- Configurer le conteneur léger de Spring et utiliser les annotations
- Accéder aux données avec Spring JDBC et Spring ORM
- Développer des pages web avec Spring MVC
- Sécuriser les applications avec Spring Security
- Expliquer les bases de l’implémentation Spring Boot
- Identifier les différences entre Spring 5/6 et Spring Boot 2/3
- Migrer des applications de Spring 5 vers Spring 6
Programme
Jour 1 - Matin
Vue d’ensemble
- Origine et vision d’architecture de Spring
- L’inversion de contrôle ou injection de dépendances
- Bilan des solutions apportées par Spring
- Evolution de Spring
- Compatibilité des versions de JDK et de JEE avec les versions de Spring
Jour 1 - Après-midi
Spring Core
- Construction des instances
- Injection des instances
- Annotation ou configuration
- SpEL (Spring Expression Language)
- Spring profiles
- Nommage des beans et bean factory
- Bean scopes
- Autowiring
- “Application Context”
Jour 2 - Matin
Configuration d’une application Spring Boot
- L’univers Spring et la complexité de sa configuration
- Les composants de type Starters et auto-configuration
- Utilisation de Spring Initializr pour créer une application Web
Travaux pratiques
- Initiation à Spring Boot avec un TP de lancement
Jour 2 - Après-midi
Le coeur de fonctionnement de Spring Boot
- Organisation des dépendances, gestion transparente des versions
- Les bonnes pratiques de développement prônées par Spring Boot
- Rôle des annotations
@SpringBootApplicationet@EnableAutoconfiguration - Le principe de fonctionnement de la classe Application
- Contrôle de l’auto-configuration, utilisation des fichiers
application.properties(ouapplication.yml) - Surcharge (voire personnalisation) des classes d’auto-configuration
Jour 3 - Matin
Spring et l’accès aux données
- Le pattern DAO et DTO
L’écosystème de Spring Data
- L’architecture de Spring Data
- Les gros apports de Spring Data
- Le couplage Spring Data et JPA
Rappel sur le mapping ORM JPA
- Mapping des classes simples
- Mapping des relations
- OneToMany
- ManyToOne
- ManyToMany
Implémentation d’un héritage avec JPA
- Rappel sur le mapping ORM JPA
Jour 3 - Après-midi
Refactoring de code avec Spring Data
- La couche Repository
- Les “Query Methods”
- L’écriture et l’exploitation des requêtes (objet et natives)
- Mise en place des “Named Query”
- Gestion des transactions
- PlatformTransactionManager
Travaux pratiques
- Ajout de l’accès aux données via JDBC puis Hibernate à l’application Spring
Jour 4 - Matin
Spring et le Web
- Spring MVC pour le Web
- Bean validation côté Web
- Conversion et affichage
API REST
- Support des services RESTful
- Support des WebSockets
- WebFlux et programmation réactive
Travaux pratiques
- Mise en oeuvre d’une application minimale Spring MVC
Jour 4 - Après-midi
Spring Security
- Sécuriser une application Web
- Protéger des routes
- Définir des utilisateurs
- Définir des ACL
Travaux pratiques
- Sécurisation des deux applications jusque-là développées
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Pour aller plus loin
Cette formation donne accès à cette formation :
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
Formation DEV-JAVA-240 — Java - Spring Framework - Initiation. Domaine : Développement. Niveau : Intermédiaire. Durée : 4 jours (28 heures). Mots-clés : java, spring, développement, initiation, spring-boot, spring-mvc, spring-security, jpa, web. Cylian Formation, Dijon.