FORMATION Le développement JAVA
Java - Spring - Hibernate
Objectifs de la formation JAVA
Cette formation Java représente un cursus progressif de 10 jours visant à 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.
Spring est un framework open source Java EE pour les applications 3-tiers, dont il facilite et structure le développement ainsi que les tests en proposant un portefeuille complet de solutions aux développeurs. Spring s'appuie principalement sur l'intégration de trois concepts clés : l'inversion de contrôle ou injection de dépendance, la programmation orientée aspect et une couche d'abstraction qui permet d'intégrer d'autres frameworks et bibliothèques avec une plus grande facilité.
Hibernate offre une solution élégante et robuste à la problématique de persistance des objets Java. Son formidable succès auprès de la communauté des développeurs a rendu cette librairie incontournable et a inspiré les nouveaux standards J2EE (EJB3 et Java API persistance de J2EE5)..
Parmi les points importants de cette formation Java vous apprendrez notamment à :
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 œuvre Spring dans vos applications
Intégrer d’autres frameworks à Spring (comme Hibernate).
Mettre en œuvre les possibilités de tests proposées par Spring
A l'issue de cette formation Java, les participants sont alors capables d’approfondir leur connaissance en toute autonomie.
A qui s'adresse la formation JAVA
Cette formation Java s'adresse aux développeurs et aux chefs de projet
Pré-requis :
Développeur possédant des connaissances sur les principes de base de la programmation objet, le cours Initiation à la programmation objet (Réf DIPO) est un pré requis idéal pour tirer pleinement profit de cette formation
Travaux pratiques :
50 % du temps est consacré aux Ateliers, l'IDE Eclipse est utilisé
Contenu de la formation JAVA
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
Atelier
Création d'un projet, importation de sources, génération et complétion de code, refactoring. Exécution à l'aide 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
Atelier
Algorithme de tri d'une collection
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
Atelier
Opération de lecture, parsing et écriture de fichiers
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
Atelier
Editeur de fichier HTML
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
Atelier
Ecriture d'une application Web, packaging et déploiement
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
Atelier
Persistance à l'aide de JDBC suivant le pattern DAO
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
Atelier
Reprise du TP précédent avec Hibernate
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.
Atelier
Enrichissement du TP précédent avec l'héritage
Mapping des associations
Association et navigation.
Association 1-N, N-1, N-N
Composition
Classe association
Atelier
Enrichissement du TP précédent avec plusieurs types d'associations
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
Atelier
Requêtes autour de l'architecture mise en place précédemment
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)
Atelier
Cas d'utilisation complet (synthèse)
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
Atelier
1ère configuration Spring, Tests via Junit
Mise en œuvre 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
Atelier
Mini-application médiathèque en ligne : Différentes types de configurations de bean, Complétion de code et écriture d'une classe de test
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
Atelier
Implémentation d'e la couche DAO de la mini-application avec Hibernate, Démarcation des transactions des services métier
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
Atelier
Mise en place des suites de tests d'intégration pour la mini-application. Intégration de l'exécution des tests dans la procédure de build
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
Atelier
Mise en place d'un aspect profilable permettant de faire du profiling d'application
formation développement java
-formation programmation Java
-Formation langage Java
-FAFIEC








22-24 rue du Président Wilson 92300 Levallois-Perret Tél.: 33 (0)1 43 34 90 94 Fax : 33 (0)1 43 34 90 95