ASTON INSTITUT : 04. Spring : développer des applications d'entreprise
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Tout au long de la formation, le formateur s'assure de la compréhension et de l'assimilation des concepts via des QCM et exercices. Après la formation : évaluation à chaud et à froid.
Prix
Public
Développeurs Java, architectes Java SE / Java EE, chefs de projets techniques…
Pré-requis
Avoir de bonnes connaissances du langage Java.
Objectifs pédagogiques
- Comprendre le fonctionnement de Spring et son positionnement dans les technologies Java
- Savoir gérer la configuration des composants d’une application avec Spring. Implémenter un service d’accès aux données
- Connaître les bonnes pratiques de développement avec Spring
- Connaître les apports de la Programmation Orientée Aspect (AOP)
- Sécuriser l’application
Programme détaillé
Chapitre 1 : Spring Core
- Notion de conteneur léger.
- Spring et Maven
- Historique des versions 2, 3, 4, 5
- Description des différents modules de Spring.
- Définition de l'inversion de couplage (IoC)
- Injection de dépendance entre bean par constructeur/setter/attribut
- Gestion du cycle de vie d’un bean.
- Qui fabrique nos beans Spring et quand ?
- Notion de scope (singleton / prototype)
- Mécanique d’instanciation
- Qui détruit nos beans Spring et quand ?
- Paramétrage des beans confiés à Spring à travers
- XML
- Les classes de configuration @Configuration
- @Service, @Repository, @Component, @Controler : Rôle et importance
- Spring et JUnit 4 et 5
Atelier pratique : Mise en pratique à travers de petits exercices simples mettant en relation des objets client <-> adresse.
Chapitre 2 : Spring et la programmation oriente aspects (AOP)
- Présentation de la programmation orientée aspects.
- Cas d’utilisation. Le jargon de l’AOP : Aspect, JoinPoint, Advice, Pointcut, Introduction, Target Class et Proxy.
- La problématique des proxy
- Quand s'exécute son aspect (@Before, @Arround, …)
- L'expression de ciblage de AspectJ (*, ., ..)
Atelier pratique : Mise en place d’un aspect de Log sur la couche des @Service.
Chapitre 3 : SPRING ET L’ACCES AUX DONNEES
- Rappel sur le rôle de la DataSource dans un projet
- Configuration d’une datasource avec Spring.
- Spring et JDBC
- Le JdbcTemplate
- Le mapping manuel à travers RowMapper
- Spring et JPA 2 (via Hibernate)
- Rappels et introduction sur la norme JPA
- Les annotations Spring pour JPA
- Les DAOs
- Principe des transactions : propriétés ACID.
- Niveaux de propagation et d’isolation des transactions.
- Les transactions gérées par annotations
Atelier pratique : On reprend le projet réalisé lors de la formation JPA et on y inclue loC Spring. On le valide à travers les tests unitaires.
Chapitre 4 : Spring data
- Présentation du module Spring Data en Spring
- Les DAO CRUD du Spring DATA
- En JDBC
- En JPA
- En MongoDB
- Ecrire ses propres requêtes
- Via @Query
- Via la reconnaissance des mots clefs dans les méthodes
- La nouveauté à travers le R2DBC
- Enjeu de l'asynchrone, avantages et inconvénients
- Présentation du Spring Data Rest ou comment réaliser des micros-services en quelques minutes
Atelier pratique : On reprend le projet réalisé dans le chapitre précédent pour le passer en Spring Data JPA.
Chapitre 5 : Focus sur Spring boot
- Historiques et versions
- Mise en place de Spring Boot
- La classe de configuration principale
- Le fichier de configurations (properties/yaml)
- Apports et comparaison vis-à-vis des autres approches
- Les annotations de bases
- Les annotations conditionnelles
- L'évolution de ses tests unitaires et utilisation du MockMVC et TestWebClient
- Don't Outsmart Spring Boot : ou pourquoi on ne doit pas faire le malin avec les versions
Atelier pratique : On reprend l'exercice réalisé dans le chapitre précédent réalisé en @Configuration pour le passer en Spring Boot.
Chapitre 6 : Spring MVC
- Rappel sur ce qu'est un Web Service REST
- Norme JAX, JAXRS, JAXB
- Evolutions entre Spring 4 et Spring 5
- Le JSON via le framework Jackson
- Rappels :
- HTTP
- Commandes Get, Put, …
- Un web service REST
- Problématique d’authentification
- Problématique de documentation
- Annotations Spring MVC
- Gestion des erreurs
- HATEOAS
- JUnit et le Spring MVC
- Spring et Ajax
Atelier pratique : On reprend le projet réalisé lors de la formation JSP-Servlet et on le transforme en projet Web Service REST. On valide l’ensemble via des tests unitaires sur la partie contrôleur Rest.
Chapitre 7 : Spring security
- Sécurisation des URL et des appels de méthodes.
- Le processus d'authentification.
- Personnalisation du processus d'authentification pour un web service REST
- JWT
- Oauth2
- API : les annotations, les taglibs, la manipulation programmatique.
- Présentation de keycloak
Atelier pratique : Mise en place de la sécurité par JWT sur l'exercice précédent.
Chapitre 8 : Spring reactive presentation
- Les concepts de la programmation réactive : ou le tout asynchrone
- Les Mono et les Flux
- Le support de la programmation réactive avec Spring
- Netty / Stream Adapters / WebFlux / Spring Data Reactive
- Le Reactive WebClient de Spring
Atelier pratique : Migration de l'exercice précédent en Web Reactive