Accueil > Développement informatique et DevOps > Spring, développer des applications d’entreprise
Formation #DEV138

Formation Spring, développer des applications d’entreprise

Durée : 5 jours

Code : DEV138


Prochaines dates programmées :

Du 03 au 07 Juin 2024

Du 28 Oct. au 01 Nov. 2024

Fin d'Inscription :
Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.
Si vous avez un besoin URGENT et que vous souhaitez une date de formation plus proche que les sessions programmées (minimum 15 à 20 jours ouvrés à date de votre demande)

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 03 au 07 Juin 2024
  • Du 28 Oct. au 01 Nov. 2024
  • Fin d'Inscription :
    Le Bulletin d'Inscription doit être rempli, cacheté, signé et envoyé par email : Au minimum 15 JOURS OUVRÉS avant la date de formation.