Objectifs

-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
-Sécuriser l’application

Programme

– Spring dans l’écosystème Java EE.

– Les composants essentiels : core, accès aux donnés, webmvc,,webflux.

– L’intégration aux autres technologies.

– L’environnement de développement.

– Les stratégies de déploiement.
Travaux pratique
Prise en main de l’environnement de développement

– Types de configuration : en Java ou par annotations

– Beans, Bean Factory et ApplicationContext

– Modes singleton et prototype : comprendre la notion de scope

– Gérer les propriétés

– Utiliser SpEL (Spring Expression Language)

– Configurer et activer les profils

– Les méthodes d’injection de dépendances

– Annotations @Component, @Autowired, @Qualifier, @Ressource…
Travaux pratique
Création d’une première application en utilisant Spring Core, déclaration de
beans et création de différents contextes.

– Les limites de la POO et les apports de la POA

– Concepts fondamentaux et terminologie : aspect, joinpoint, advice,
poincut, etc

– Les différents types d’advice : @Around, @Before, @After…

– Proxies et ProxyFactoryBean

– Différences entre Spring AOP et AspectJ

Travaux pratique
Mise en œuvre des concepts de POA, déclaration d’un pointcut, implémentation d’un advice.

– JUnit 5, présentation générale

– Les objets mock et les tests unitaires

– L’annotation @DirtiesContext et la mise en cache du contexte applicatif

– Sélection des profils
Travaux pratique
Mise en place de tests unitaires et d’intégration

– Comment Spring s’intègre avec les technologies d’accès aux données

– Le pattern DAO (Data Access Object), classes abstraites

– Utiliser les APIs d’encapsulation et le JdbcTemplate de Spring

– Spring et les ORMs (mapping objet-relationnel)

– Travailler avec le framework Hibernate

– Gérer les ressources, configurer la SessionFactory

– Utiliser la Java Persistence API avec Spring

– La gestion des transactions

– L’interface PlatformTransactionManager

– Les transactions dans les tests
Travaux pratique
Implémentation d’une couche de persistance, DAO avec les APIs Hibernate, démarcation de transactions.

 -La gestion des dépendances.

– Les starters.

– La configuration automatique.

– L’environnement d’exécution.

– Le packaging (jar, war, image OCI).

– Le déploiement.
Travaux pratique
Création d’une application simple

– Modes d’authentifications

– Sécurité applicative.

– Sécurisation des routes.
Travaux pratique
Mise en œuvre de la sécurité sur l’application web développée précédemment.

– Bref retour sur le pattern MVC

– Spring MVC, architecture et composants utiles

– Signature des méthodes

– Résolution des vues et utilisation de Thymeleaf

– L’API Bean validation

– Gérer les exceptions

– Utiliser les annotation spécifiques (@Controller, @RestController, @GetMapping)

– Configurer Spring MVC avec Spring Boot

– Options de packaging

– Introduction à la programmation réactive avec Spring WebFlux
Travaux pratique
Création et configuration d’une application Spring MVC.

Référence :  WEB014

Type de Stage : Pratique

Durée : 5 jours

Public concerné:

Développeurs Java/Java EE

Prérequis:

Bonnes connaissances en
développement Java. Expérience
requise en développement
d’applications d’entreprise.