Java

Composants Java avancés

Développer une application Java JEE avec Spring – formation certifiante

Avis d'expert

Spring est actuellement le framework incontournable permettant de faciliter et simplifier le développement d’applications Java, en s’appuyant sur un conteneur léger basant sur l’injection de dépendances et la programmation orientée aspects, mais il comprend également de nombreux éléments facilitant l’intégration et l’utilisation d’autres frameworks et technologies. Vous découvrirez le périmètre du framework Spring et de ses éléments, les bonnes pratiques de son utilisation et la méthode à suivre afin de réaliser des applications robustes et testables.

Objectifs pédagogiques

  • Utiliser le Framework Spring pour développer des applications Java
  • Utiliser l'injection de dépendance pour configurer des applications
  • Tester des applications basées sur Spring
  • Effectuer la configuration Spring avec du XML, des annotations et des classes Java
  • Utiliser Hibernate et JDBC avec Spring pour les accès aux bases de données relationnelles
  • Utiliser le support de transaction de Spring
  • Utiliser la programmation orientée aspect (POA) pour ajouter du comportement aux objets
  • Développer une application Web avec Spring MVC
  • Utiliser Spring Security pour sécuriser les applications Web
  • Utiliser Spring avec RMI, HttpInvoker, et JMS pour les communications externes
  • Monitorer des applications Spring avec JMX

Public

Architecte
Développeur
Chef de projet

Pré-requis

  • Avoir suivi la formation « Les bases de la programmation objet en Java SE » (JSE01).
  • Avoir suivi la formation « Développement  Web Java (Servlets & JSP) » (JEE03).

Méthode pédagogique

Formation rythmée par des apports théoriques et des ateliers de mise en pratique.

Programme pédagogique détaillé par journée

Jour 1
Jour 2
Jour 3
Jour 4


Introduction à Spring
Le contexte d'application Spring.
Configuration XML.
Travailler avec des fabriques déjà existantes.
Travailler avec plusieurs fichiers de configuration.

Comprendre le cycle de vie du conteneur Spring
Phases de d'initialisation, d'utilisation et de destruction d'un contexte Spring.
Initialiser, utiliser, et détruire les phases.
Travailler avec les post-processeurs.
Externaliser des paramètres de configuration dans des fichiers propriétés.
Notion de portée (bean scope).

Bonnes pratiques de configuration
Définition des Beans par héritage.
Beans internes.
p et autres namespaces utiles.
Injection de dépendances des collections.
Spring Expression Language (SpEL).

Injection de dépendance avec les annotations et des classes Java
Autowiring et scanning des composants.
Annotations stéréotypes.
Configuration basée sur Java.
Faire cohabiter les différents styles de configuration.
Quand utiliser les configurations par XML, annotations et Java.

Tester une application basée sur Spring
Support pour JUnit dans Spring.
La mise en cache du contexte d'application et l'annotation @DirtiesContext.

Programmation orientée aspect (POA)
Quels problèmes résout la POA ?
Différences entre Spring AOP et AspectJ.
Définir des expressions de pointcut.
Comment utiliser les différents types d'advices : around, before, after ?

Accès aux données et JDBC avec Spring
Comment Spring s'intègre avec les technologies d'accès aux données existantes ?
Hiérarchie d'exceptions d'accès aux données (DataAccessException).
Namespace JDBC.
Simplifier les accès JDBC avec le JdbcTemplate.

Intégration de Spring avec Hibernate
Introduction au mapping objet/relationnel.
Bénéfices de l'utilisation de Spring et d'Hibernate.
Configuration d'Hibernate avec Spring.

Gestion des exceptions.
Gestion des transactions avec Spring
Déclarer un gestionnaire de transaction dans Spring.
L'annotation @Transactionnal.
Configuration des niveaux d'isolation.
Configuration de la propagation.
Transactions et tests d'integration.

Spring dans une application Web
Configurer Spring dans une application Web.
Introduction à Spring MVC.
Définition des contrôleurs Spring MVC avec des annotations.
Gestion des vues avec Spring MVC.
Namespace mvc.

Spring security
Les problèmes résolus par Spring Security.
Configuration de l'authentification.
Interception des URLs.
La librairie de tag Spring Security pour les pages JSP.
Personnaliser la chaîne de filtre de Spring Security.

Remoting
Problème lié au RMI traditionnel.
Utiliser Spring Remoting à la place de RMI.
Utiliser Spring HttpInvoker pour les appels distants sur http.

JMS
Introduction à JMS.
Configurer les ressources JMS avec Spring.
Envoyer et recevoir des messages en utilisant Spring JmsTemplate et les message listener containers.

JMX
Introduction à JMX.
Configurer Spring pour exporter des MBeans automatiquement.
Exporter un Spring bean en un MBean.