Objectifs pédagogiques
- Décrire le positionnement de Spring par rapport à EJB et JEE
- Créer une architecture en couches
- Mettre en oeuvre la programmation par Aspect
- Paramétrer le conteneur léger de Spring et utiliser les annotations
- Accéder à vos données avec Spring JDBC et Spring ORM
- Créer des pages Web avec Spring MVC
- Sécuriser vos applications avec Spring Security.
Niveau requis
Avoir suivi le cours JAV-SE "Java - Les fondamentaux de la programmation" ou avoir une bonne connaissance du langage Java et une vue d'ensemble de la plateforme JEE.
Public concerné
Développeurs, architectes et chefs de projets techniques.
Programme
Jour 1 - Matin
Vue d'ensemble
- Origine et vision d'architecture de Spring
- L'inversion de contrôle ou injection de dépendances
- La Programmation Orientée Aspects (POA)
- Bilan des solutions apportées par Spring
- Evolution de Spring
- Les nouveautés de Spring 5
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
Exemple de travaux pratiques (à titre indicatif)
- Etude de la conception d'une application impliquant Spring Core
Jour 2 - Après-midi
Programmation AOP dans Spring
- Concepts de la Programmation Orientée Aspects
- Utilisation d'AOP dans Spring
- Types d'advice
- Around
- After
- Throws...
- Advisors et Pointcuts
- Expressions AspectJ Pointcut
- Proxies et ProxyFactoryBean
Exemple de travaux pratiques (à titre indicatif)
- Ajout d'AspectJ dans l'application initialement développée
Jour 3 - Matin
Spring et l'accès aux données
- Le pattern DAO
- JDBC template
- NamedParameters
- RowMappers
- Spring et les ORM : Hibernate
- Bean validation
- Gestion des transactions
- PlatformTransactionManager
Exemple de travaux pratiques (à titre indicatif)
- Ajout de l'accès aux données via JDBC puis Hibernate à l'application Spring
Jour 3 - Après-midi
Spring et le Web
- Spring MVC pour le Web
- Bean validation côté Web
- Conversion et affichage
- Utilisation de Thymeleaf
- Spring et Ajax / jQuery
- Support des services RESTful
- RestTemplate et AsyncRestTemplate
- Support des WebSockets
- WebFlux et programmation réactive
Exemple de travaux pratiques (à titre indicatif)
- Mise en oeuvre d'une application minimale Spring MVC
Jour 4 - Matin
Spring Security
- Sécuriser une application Web
- Protéger des routes
- Définir des utilisateurs
- Définir des ACL
Exemple de travaux pratiques (à titre indicatif)
- Sécurisation des deux applications jusque-là développées
Jour 4 - Après-midi
Spring Boot
- Introduction
- Configurer un projet (Spring Initializr)
- Les "Starters"
- Développement d'une application avec Spring Boot
Exemple de travaux pratiques (à titre indicatif)
- Initiation à Spring Boot avec un TP de lancement
Examen M2i (en option)
- Prévoir l'achat de l'examen en supplément
- L'examen (en français) sera passé le dernier jour, à l'issue de la formation et s'effectuera en ligne
- Il s'agit d'un QCM dont la durée moyenne est d'1h30 et dont le score obtenu attestera d'un niveau de compétence
- L'examen n'est pas éligible au CPF, mais permettra néanmoins de valider vos acquis
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation et/ou un examen M2i
Les + de la formation
Un examen M2i permettant de valider vos acquis à l'issue de la formation est disponible sur demande (coût : 120€).