Présentation de la formation Spring
Spring est un framework Java puissant et flexible qui facilite le développement d'applications robustes et évolutives. Il propose un large éventail de fonctionnalités, telles que l'injection de dépendances, la gestion de transactions, et la sécurité, tout en favorisant une architecture modulaire et légère. Ce framework est particulièrement apprécié pour sa capacité à simplifier le développement d'applications d'entreprise en intégrant facilement des services tiers. Apprenez à maîtriser Spring pour créer des applications performantes et maintenables, tout en utilisant les meilleures pratiques. Rejoignez notre formation Spring pour transformer vos projets Java en solutions professionnelles efficaces.
Objectifs de la formation Spring
Objectifs pédagogiques :
- Créer des applications Web avec Spring MVC
- Créer des Web Api REST FULL
- Mettre en oeuvre l’injection de dépendances avec Spring 5
- Optimiser le paramétrage du conteneur léger de Spring 5
- Accéder à vos données avec Spring JDBC et Spring ORM
- Mettre en oeuvre la programmation par Aspect
- Tester des applications Spring 5
- Sécuriser vos applications avec Spring Security
Objectifs opérationnels :
- Mettre en œuvre les bonnes pratiques de développement d'applications d'entreprise avec Spring
Programme de la formation Spring
Introduction
Origine et vision d'architecture de Spring
L'inversion de contrôle ou injection de dépendances
La Programmation Orientée Aspects (POA)
La programmation Reactive
Les nouveautés Spring 5
Annotations SpringJUnitConfig et SpringJunitWebConfig
Spring Core
Beans, Beans Factory et ApplicationContext
La notion de scope: singleton et proptotype
SpEL (Srping Expression Language)
L'injection de dépendances
Les annotations Core @Component, @ Autowird, @Qualifier, @Ressource...
Accès aux données avec JDBC et Hibernate 5
Classes abstraites pour le support DAO
Utilisation de JDBC via les APIs d'encapsulation Spring
DAO et infrastructure des template
Gestion des ressources
Alimenter hibernate via une base Postgresql
Configuration de SessionFactory dans le contexte d'application Spring
IoC : Hibernate Template et Hibernate Callback
Implémentation DAO avec les APIs Hibernate
Spring MVC
Architecture de Spring MVC
Configuration de Spring MVC aec Spring Boot
Les vues JSP et JSTL
L'API Bean validation et les exceptions
Internationalisation d'une application
Le Binding (one way, two ways)
Les annotations @Controller, @RestController, @GetMapping...
API REST avec Spring WebFlux
Le concept d'API REST
Mise en place d'une API REST
Le Cross Origin Shared Resource
Configurer HttpMessageConverter
Les annotations @ResponseStatus, @RequestMapping, @RequestBody, @ResponseBody...
Programmation réactive avec Spring Reactor
Présentation, Dépendances et Mise en place
Les Types Coeur : Mono et Flux
Threads, Scheduler
Gestion des erreurs, Debugging
Enregistrement de beans fonctionnels
Programmation Orientée Aspect(AOP)
Les concepts
La terminologie utilisée : aspect, joinpoint, advice, pointcut, introduction, target object, AOP proxy, weaving
Les différents types "advice" : around, before, throws, after
Les objectifs et fonctionnalités AOP de Spring
Intégration avec le framework AspectJ
Les annotations @Around, @Before, @After
Spring Security
Mise en place de Spring Security
Configurer l'authentification
Sécuriser les routes
Acces Control List (ACL)
Echanges de messages avec Spring Websocket
Théorie, design patterns, le principe pub/sub
Présentaton de STOMP et SockJS
Support et mécanismes de fallback
Mise en place côté serveur et côté client
Tests avec Spring 5
JUnit 5
Les tests unitaires
Profil de tests
Tests concurrents
Configurer SpringJUnitConfig et SpringJunitWebConfig
L'annotation @DirtiesContext
Packaging et déploiement avec Spring Boot
Application autonome et conteneur embarqué
Configurer une application Spring Boot
Le packaging d’application cloud ready
Construction d’une image Docker