Formation développement Java, Spring et Hibernate Réf : DJSH

Par Fabien Guibert

Cursus de formation de 10 jours pour maîtriser le développement JAVA.

Durée :
10 jours

4 500 € HT (prix conseillé)

Partage :

  • Twitter
  • Facebook
  • E-mail
  • Linkedin
  • Viadeo

Soyez alertés par e-mail des nouvelles sessions : Poser une alerte,

Description

Ce parcours de formation pratique se déroulant sur 10 jours vise à vous rendre opérationnel et autonome dans l'utilisation du langage Java pour réaliser des applications WEB ou Desktop. Vous apprendrez également à travailler avec deux frameworks incontournables dans le monde Java, Hibernate et Spring. Vos solides compétences Java vous permettront d'évoluer facilement dans les futures nouveautés de cet environnement.

Objectifs pédagogiques

A l'issue de ce stage, les participants seront en mesure de :
  • Programmer en Java,
  • Utiliser et configurer  Eclipse,
  • Construire des interfaces graphiques avec Swing,
  • Comprendre l'environnement JEE (Web, servlets, modèle MVC, EJB3),
  • Gérer la persistance des données avec Hibernate/JPA (stockage, lecture, transaction),
  • Mettre en oeuvre Spring dans vos applications,
  • Intégrer d'autres frameworks à Spring (comme Hibernate),
  • Mettre en oeuvre les possibilités de tests proposées par Spring.


Public

Développeurs,
chefs de projet.

Pré-requis

Connaissance de la programmation objet

Type

Stage pratique

Méthode pédagogique

50 % de Travaux pratiques type Ateliers; l'IDE Eclipse est utilisé.

Plan de cours

Java et la programmation objet
Caractéristiques et particularités du langage Java, domaines d'application (Application, Applet, Développement Serveur, Androïd)
Portabilité des programmes Java à travers la JVM
Gestion de la mémoire
Encapsulation et modificateurs de visibilité
Java et l'héritage simple, le mot clé final
Import et packages
Java, interface et classes abstraites
Java un langage sûr et robuste, Modèle de sécurité, mécanismes des exceptions
Le multithreading 
Exécution d'un programme Java, empaquetage et format et types d'exécutables
JDK, JRE, Les outils du développeur

Prise en main de l'IDE Eclipse
Arborescence et chemin d'accès
Principe des protections
Attributs des fichiers et des répertoires
Bien utiliser l'aide en ligne
Configuration des exécutions, fonctionnalités du debugger

La syntaxe
Structure d'un fichier .java
Constructeur et processus d'instanciation, le mot clé static
Notion d'identité objet 
Déclaration de variables et Initialisation
Types primitifs et classes du package java.lang
Opérateurs d'affectation, de comparaison, booléens, ...
Instruction de contrôles 
Boucles et itérations
Tableaux et collections
Gestion des exceptions, blocs try, catch, finally

Gestion des entrées sorties
Présentation du package java.io
Format binaire ou format texte, jeu de caractères et encoding
Opérations de lecture
Opération d'écriture 
Support pour XML et le parsing de fichiers
Sockets, protocoles et flux

Construction d'interface
Présentation de SWING
Composants d'interface 
Les différents conteneurs
Gestionnaire de mise en forme : les layouts
Gestionnaire des évènements et listeners
Rendu d'image, dessins vectoriels et modélisation 3D

Introduction à Java EE
Le standard Java EE et les architecture n-tiers
Services techniques des serveurs d'application et Les différentes APIs
Modèles de programmation distribuée
Plugins Eclipse pour le développement Java EE
Implémentation de la couche métier avec les EJB3.0
Composants de la couche de présentation, servlets, vues et Java Beans
Le pattern MVC

Intégration d'outils de génie logiciel et IDE Eclipse
Gestion de Version avec svn, intégration dans Eclipse
Le plugin WTP
L'outil ant : automatisation déploiement
Le build avec Maven, intégration des tests unitaires (Junit) et de conformité (Checkstyle)
Intégration continue avec Hudson 
Gestion de projet et suivi des bugs avec Trac et JIRA
Test de charge et profiling (Jmeter et Jprofiler)

Hibernate : Introduction à la problématique de persistance des objets
Origines du problème
Les facettes de l'impédance mismatch 
Architectures de la persistance 
Historique des solutions (JDBC, JDO, Hibernate) 
Rappel sur JDBC / SQL et ses limites

Premier pas avec Hibernate - mapping de l'identité
Installer Hibernate 
Initialiser le framework Hibernate 
Opérations CRUD sur les objets 
Identité d'objet et cycle de vie


Mapping de l'héritage
Le problème du mapping de l'héritage 
Notion de relations polymorphes 
Approche : une table par classe concrète 
Approche : une table par hiérarchie 
Approche : une table par classe

Mapping des associations
Association et navigation. 
Association 1-N, N-1, N-N 
Composition 
Classe association

Accès en lecture aux objets (HQL, API Criteria et requêtes SQL)
Le pattern Lazy Loading
Usage de HQL 
Usage de l'API Criteria 
Usage des SQL Query

Accès en lecture aux objets (HQL, API Criteria et requêtes SQL)
Principe de persistance transitive
Attachement / détachement des objets d'une session 
Supprimer une grappe d'objets

Gestion des transactions
Rappel sur la notion de transaction 
Transaction et concurrence d'accès 
Niveaux d'isolation 
Stratégies de contrôle de la concurrence 
Gestion optimiste 
Gestion pessimiste 
Notion de transaction utilisateur

Architecture et Hibernate
Architecture d'Hibernate
Comment gérer la session Hibernate (pattern du ThreadLocal) 
Comment programmer des règles métiers (frontière métier / accès aux données) 
Usage du Pattern Data Access Object (DAO) avec Hibernate 
Comment gérer les transactions utilisateurs avec Hibernate 
Intégrer Hibernate dans une application web. 
Réalisation du TP6 (codage d'un cas d'utilisation complexe)

Introduction à Spring
Concepts de conteneur léger 
Vue d'ensemble et exemples d'utilisation 
Pattern "Inversion de Contrôle (IoC) ; Injection de dépendance" 
Tests unitaires en isolation 
Approche MVC avec Spring MVC

Mise en oeuvre de Spring
Les Beans, BeanFactory et ApplicationContext 
Modes singleton ou prototype 
Gestion des propriétés, "collaborators" 
Méthodes d'injection de dépendance 
Configuration de Beans spécifiques à Spring, cycle de vie 
Définition de Bean abstrait et héritage

Spring et l'accès aux données (JDBC et Hibernate)
Pattern DAO avec JDBC et les Classes abstraites de Spring 
Configuration de la SessionFactory d'Hibernate dans le contexte d'application Spring 
IoC : Hibernate Template et Hibernate Callback 
Implémentation DAO avec les APIs Hibernate 
Démarcation de transactions par programmation et déclaration

Support de Spring pour les Tests
Concepts de l'eXtreme programming
Tests unitaires et test d'intégration 
Indépendance de Spring vis à vis des outils de test
Apports de Spring : Cache de l'ApplicationContext, Injection de données de test, et rollback des transactions

Programmation orientée aspect
Concepts de l'AOP
Terminologie utilisée : aspect, joinpoint, advice, shortcut, weaving 
Les différents types d' « advice » : around, before, throws, after
Objectifs et fonctionnalités AOP de Spring
Intégration avec le framework AspectJ

Prochaines sessions

Aucune session de planifiée à ce jour, veuillez nous contacter pour avoir plus d'info ou suggérez vous-même une session.


Proposer une session.

Pas de témoignage pour l'instant.

Cher(e) visiteur(euse),
Nous vous remercions pour l'intérêt porté à nos formations. La pré-inscription à une session de formation se fait via le formulaire d'inscription de la page formation.

La Convention de Formation Professionnelle Continue simplifiée vous sera envoyée par mail dans les 72H max. Votre inscription est considérée comme définitive, une fois cette convention signée par votre entreprise ou OPCA. La facture sera émise à l'issue de la formation, comme mentionnée dans nos conditions générales de vente.

A noter que les demandeurs d'emploi peuvent bénéficier d'une remise de 20% sur le prix public.

Pour toute information complémentaire ou demande de devis, n'hésitez pas à nous contacter au 01 53 34 66 10 ou à nous solliciter par mail.

A très bientôt dans l'un de nos centres de formation.
L'équipe Clever-Institut.

Les autres formations « Développement JAVA »  – Voir toutes les formations