Accueil > Développement Logiciel, Devops > Spring, développer des applications d’entreprise
Formation #DEV138

Formation Spring, développer des applications d’entreprise

Formation avec Restauration incluse
(Déjeuner, Petit Déjeuner et Pauses Cafés)

Durée : 5 jours

Code : DEV138


Sessions programmées :

Du 18 au 22 Jan. 2021

Du 15 au 19 Mars 2021

Du 10 au 14 Mai 2021

Du 12 au 16 Juil. 2021

Du 18 au 22 Oct. 2021

Du 27 au 31 Déc. 2021

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
  • Pour les entreprises AU MAROC :
    Au minimum 10 JOURS OUVRÉS avant la date de formation
  • Pour les entreprises HORS MAROC :
    Au minimum 15 JOURS OUVRÉS avant la date de formation

Formation dans votre entreprise.

Durée : 5 jours

Code : DEV138


Vous souhaitez réaliser cette formation en vos locaux avec le même programme ?

Vous souhaitez personnaliser le programme de cette formation pour qu'elle réponde aux spécificités de votre entreprise ?

Objectifs

  • Connaître le positionnement de Spring dans Java EE et ses principales fonctionnalités
  • Comprendre l'architecture et développer les couches d'une application n-tiers
  • Mettre en œuvre les meilleures pratiques de développement orientée aspect
  • Accéder aux données avec Spring JDBC, JPA et Spring Data
  • Simplifier le packaging et déploiement d'applications avec Spring Boot
  • Développer des pages Web avec Spring MVC
  • Sécuriser les applications avec Spring Security
Programme
1/ Présentation de Spring 5
  • Comprendre l’écosystème Spring et son évolution
  • Positionnement dans l’écosystème Java EE
  • Concepts de conteneur léger, avantages et inconvénients du framework
  • Le design pattern d’inversion de contrôle (IoC) et l’injection de dépendances (DI)
  • Vue d’ensemble de l’architecture et des modules Spring : Core, test, Web (MVC)…
  • Programmation Orientée Aspect (POA)
  • Vue d’ensemble des projets Spring : Spring Boot, Spring Data, Spring Batch, Spring Cloud…
  • L’IDE Spring Tools Suite
2/ Spring Core et configuration
  • Configurations : XML, annotations ou code Java
  • Les beans, les fabriques (BeanFactory) et contexte d'application (ApplicationContext)
  • La portée des beans (scope) : modes singleton et prototype
  • Gestion des propriétés
  • Ecrire des expressions avec SpEL (Spring Expression Language)
  • Utiliser les profils
  • Mécanisme d'injection de dépendances
  • Les annotations @Autowired, @Qualifier et @Ressource
  • Ajouter l’annotation @Component dans les classes
  • Annotations @Configuration, @Bean et @Import
3/ Les apports de la Programmation Orientée Aspect (AOP)
  • Limites de la POO (Programmation Orientée Objet) et les apports de la POA
  • Concepts principaux et terminologie : aspect, advice, join point et pointcut
  • Types d'advice : @Around, @Before, @After…
  • Proxies et ProxyFactoryBean
  • Spring AOP vs AspectJ
  • Bonnes pratiques AOP : expressions pointcut, mise en cache…
4/ Les tests unitaires
  • Mise en œuvre d’un jeu de test JUnit
  • Les objets mock et les tests unitaires
  • L’annotation @DirtiesContext et la mise en cache du contexte applicatif
  • Sélection des profils
5/ Accès aux données (JDBC, JPA et Hibernate)
  • Les patterns DAO (Data Access Object, ou objet d’accès aux données) et Template
  • Comprendre l’intérêt du JdbcTemplate de Spring
  • Choisir une approche pour l’accès aux données
  • Configurer une DataSource, accéder aux ressources JNDI
  • Le mapping objet-relationnel avec Hibernate
  • La gestion des transactions avec Spring : définition, annotations utiles
  • Propagation des transactions
  • Travailler avec JPA, définir une interface Repository
  • Introduction à Spring Data : architecture, configuration, utilisation de CrudRepository
6/ Spring Boot
  • L’apport du module Spring Boot. Avantages et principes de fonctionnement
  • Utiliser l’annotation @EnableAutoConfiguration
  • Importer un ensemble de dépendances avec les starters
  • Propriétés des configurations
  • Utiliser CommandLineRunner
  • Utiliser les avantages de Spring Boot pour le test
7/ Spring MVC et la couche Web
  • Retour sur le pattern Model-View-Controller
  • Comprendre le flux de données et les composants Spring MVC
  • La validation des beans côté Web et les annotations utilisées
  • Créer des contrôleurs : @Controller et configuration du DispatcherServlet
  • Résolution de vues et mappings
  • L’annotation @Async
  • Gestion des exceptions
  • Utiliser le moteur de template Thymeleaf
  • La programmation réactive avec WebFlux
  • Introduction à Spring Boot
8/ Architecture REST et Spring MVC
  • L’architecture logicielle REST
  • @ResponseStatus : contrôler les codes de retour HTTP
  • @RequestMapping, @RequestBody et @ResponseBody
  • Configuration de HttpMessageConverter
9/ Spring Security
  • Pourquoi utiliser Spring Security ?
  • Configurer l’authentification
  • Access Control List (ACL)
  • Comprendre le principe de chaîne de filtres
Approche Pédagogique

Approche Pédagogique

  • Pédagogie très opérationnelle fondée sur l'alternance entre théorie et pratique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
Public Cible

Personnes Visées

  • Architectes
  • Chefs de Projet
  • Concepteurs
  • Développeurs
  • Équipe de développement
Dates

Dates

  • Du 18 au 22 Jan. 2021
  • Du 15 au 19 Mars 2021
  • Du 10 au 14 Mai 2021
  • Du 12 au 16 Juil. 2021
  • Du 18 au 22 Oct. 2021
  • Du 27 au 31 Déc. 2021
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email :
    • Pour les entreprises AU MAROC : Au minimum 10 JOURS OUVRÉS avant la date de formation
    • Pour les entreprises HORS MAROC : Au minimum 15 JOURS OUVRÉS avant la date de formation