Formation Spring 4

Développer des applications d'entreprise avec Spring

  • Créer une architecture en couches avec JSF , Spring , hibernate.

  • Mettre en oeuvre l’injection de dépendances avec Spring

  • Optimiser le paramétrage du conteneur léger de Spring

  • Mettre en oeuvre la programmation Aspect (Spring AOP et AspectJ)

  • Accéder à vos données avec Spring JDBC et Spring Data

  • Comprendre et mettre en oeuvre les transactions avec Spring

  • Créer des écrans web avec Spring MVC 

  • Tester plus facilement vos applications Spring

  • Sécuriser vos applications avec Spring Security

Avoir les connaissances de base en Java et JEE
Formation disponible en Spring 3 et 4


Programme de la formation Spring 4

Spring 4 : Comprendre le conteneur léger

Notion clé : injection de dépendance

Conteneur ’léger’ spring / conteneur ’lourd’ j2ee

Fichier ApplicationContext.xml

Cycle de vie d’un bean Spring

scope singleton, prototype

Interfaces de callback

Les post-processors

Injection par setter

Injection par constructeur

Spring 4 : Architecture

Approche modulaire des librairies Spring  (jars)

Noyau : Spring Core au coeur de l’injection

Accès données : Spring DAO, Spring ORM

Applications web : Spring Web, Spring MVC

Nouveauté Spring  : Spring Expression Language (spEL)

Tests avec Spring

Spring 4 : Paramétrage conteneur

Propriétés simples (String, int,...)

Propriétés de type collection (, )

Méthodes d’injection (setter, constructeur)

Auto-câblage (Autowiring) byName, byType

Optimisation : autowiring annotation (context:annotation-config)

Optimisation : auto-découverte (context:component-scan)

Annotations @Component, @Service, @Controler

Classe abstraite (abstract=true)

Héritage (parent=true)

Spring 4 : Programmation orientée aspect

Notion clé : Interception

Pointcut, Advice, JoinPoint

Notion de Tissage, Tisseur

Présentation framework AOP AspectJ

Comparaison tisseurs Spring AOP / AspectJ

Spring 4 : Accès données JDBC

Les classes de la couche d’abstraction

Mise en oeuvre design pattern DAO

Classes fournies : JdbcTemplate, JdbcDaoSupport

Gestion des exceptions : gamme d’exceptions Spring

Exécuter des requêtes de lecture, ecriture

Annotation @Repository

Spring 4 : Gestion des transactions

Concept de transaction

Gérer les transactions avec Spring

Transactions programmatiques

Transactions déclaratives

Annotation @TransactionManagement

Spring 4 : Création d’écrans web avec Spring MVC

Cinématique d’une requête Spring MVC : 6 étapes clés

Configuration Spring MVC : 4 étapes clés

Comprendre le DispatcherServlet

Création de controleurs Spring MVC 

Annotations @Controller

Formulaires Spring MVC : balises clés

Formulaires Spring MVC : validation (@Valid, jsr 303)

Formulaires Spring MVC : conversion

Formulaires Spring MVC : internationnalisation

Intégration Spring avec templates Tiles

Spring 4 : Intégration avec JSF

Rappels JSF 2 : cycle de vie, facelets, @nnotations

Faire d’un Managed bean JSF un bean Spring

ContextLoaderListener

Injection bean service dans le controleur Spring

Spring 4 : Intégration Spring/JPA Hibernate

Accéder aux bases de données relationnelles

Accéder aux bases de NoSQL

Lacunes des Daoa basés sur Template / DaoSupport.

Bonne pratique : Spring data JPA

Spring data : pagination , tri

Spring Data : CRUDRepository

Gérer les exceptions

Tests avec Spring

Tests unitaires : lien entre JUnit 4 et Spring

Tests d’intégration : chargement du conteneur !

Tests transactionnels

Mock Tests avec Mockito

Sécurité JEE avec Spring Security

Spécification JAAS : Authentification & Autorisation

Sécurité déclarative / programmative

Royaume de sécurité (Realms)

4 questions : QUOI, COMMENT, QUI, OU

fichier web.xml : balise ’security-constraint’

fichiers context.xml, jboss-web.xml, sun-web.xml

Comprendre les filtres Spring Security

Personnalisation et Paramétrage de filtres (ex : formulaire, cookies, session)