Spring est un puissant framework Open Source, qui simplifie considérablement la programmation J2EE. Il résout les problèmes récurrents présents sur toutes les couches d’une application et facilite l’intégration des frameworks Java les plus utilisés. Outre la réduction impressionnante du volume de code technique, Spring Framework implique l’utilisation des bonnes pratiques de programmation. Vous pourrez ainsi écrire des applications structurées et évolutives, s’inscrivant parfaitement dans une architecture orientée service. Au delà de Spring, ce cours vous initiera à l’ensemble des technologies phares du monde J2EE (JSP, EJB, JMS, JDO, Web Service), ainsi qu’aux frameworks Java Open Source les plus utilisés (Struts, Hibernate, iBatis).
Programme de formation Spring
Le Framework de base
Introduction
Problématique du développement J2EE Les frameworks Java Les conteneurs légers Présentation du projet Spring Framework Les modules de Spring Pourquoi Spring simplifie le développement J2EE
Principe de Spring
Histoire d’instanciation Le design pattern Inversion de Contrôle Présentation de l’AOP La couche d’abstraction de Spring
Premiers pas
Coder par interface Faire un lookup Implémenter une classe métier Configurer l’IoC Synthèse
Fabriquer des beans avec Spring
Rôle de l’interface BeanFactory Méthodes de l’interface BeanFactory
Cycle de vie des beans
Déclaration des beans
Les façons d’instancier un bean Méthodes de callback
Configurer les propriétés et les dépendances
Propriétés simples Propriétés de type collection Associations entre beans Méthodes d’injection Auto-câblage
Notions avancés
Beans abstraits Héritage Interfaces de callback Injecter la BeanFactory dans un bean Les post-processors
L’ApplicationContext
Définition Les différents type d’ApplicationContext Les catalogues de messages Injecter l’ApplicationContext dans un bean Gestion évènementielle Les post-processors Interfaces de callback
Spring et la Persistance
Qu’est-ce que la persistance ?
Définition Développer une couche de persistance (développement JDBC, frameworks de type Data Mapper, frameworks de type ORM) Les apports de Spring
Spring JDBC
Les classes de la couche d’abstraction Configurer l’IoC Exécuter des requêtes de lecture Exécuter des requêtes d’écriture Récupérer les valeurs des auto-incréments
iBatis
Présentation du framework Les classes de la couche d’abstraction Configurer l’IoC
Hibernate
Présentation du framework Les classes de la couche d’abstraction Configurer l’IoC
Gestion des transactions
Concept de transaction Gérer les transactions avec Spring Transactions programmatiques Transactions déclaratives
AOP, remoting et sécurité
Spring AOP Définitions et concepts Créer des pointcuts avec Spring Créer des advices avec Spring Créer un aspect avec Spring Stratégie de weaving Créer des proxy AOP avec Spring
Techniques de remoting
Présentation du remoting Exposer un service avec RMI Exposer un service avec HTTP invoker Exposer un service avec Hessian / Burlap
Module de sécurité Acegi
Présentation du module Acegi Gestion de l’authentification Sécuriser l’invocation des objets
Spring et le Web
Programmation Struts avec Spring
Rappels Struts Injecter les beans métiers dans les actions Struts Charger l’ApplicationContext Configuration Struts Spring MVC Principe Configurer l’IoC Comparaison Struts / Spring MVC
Spring et la Couche Métier
La plate-forme J2EE Présentation Les apports de Spring EJB Présentation du modèle EJB Principe des EJB Programmation EJB avec Spring JMS Les middlewares orientés messages Différences RPC / MOM L’API JMS Utiliser JMS avec Spring Web Services Principe des services web Java et les services web Programmer un service web avec Spring