L institut de formation continue des professionnels du Web Formation Le développement JAVA Référence formation : Durée : Prix conseillé : JDJA 10 jours (70 heures) 3 995 HT (hors promotion ou remise particulière) Description Cette formation Java représente un cursus progressif de 10 jours visant à vous rendre autonome dans l'utilisation du langage Java et des frameworks incontournables que sont Hibernate et Spring. Vos solides compétences Java vous permettront d être opérationnel tout en ayant acquis les bonnes pratiques du développement d'applications Java dans un contexte professionnel avec les outils de génie logiciel «vraiment» utilisés au quotidien. Objectif pédagogique 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. Pré-requis Connaissance de la programmation objet Public Développeurs, chefs de projet.
Dates des prochaines sessions Du lundi 08/01 au mercredi 17/01 2018 Du lundi 12/03 au mercredi 21/03 2018 Du lundi 09/04 au mercredi 18/04 2018 Du lundi 11/06 au mercredi 20/06 2018 Du lundi 09/07 au mercredi 18/07 2018 Du lundi 10/09 au mercredi 19/09 2018 Du lundi 08/10 au mercredi 17/10 2018 Du lundi 12/11 au mercredi 21/11 2018 Du lundi 10/12 au mercredi 19/12 2018 Plan de cours Présentation de Java 8 Historique, caractéristiques, JDK, JRE, versions Rôle de la machine virtuelle Déclinaisons : Java SE, Java EE, Java ME Applications Installation du JDK 8 et du JRE 8 Outils de développement Utilisation du compilateur du JDK Prise en main d Eclipse Debugging Création d un programme simple avec un éditeur, compilation puis exécution avec les outils du JDK 8 Installation d Eclipse et création d'un projet, exécution normale puis exécution à l'aide du debugger Java, fondamentaux Types primitifs, variables, opérateurs Branchements conditionnels, switch, boucles Conversions de type, tableaux Création de programmes simples avec mise en œuvre de variables de différents types Calculs avec opérateurs, branchements conditionnels et boucles Classes, objets, relations entre objets Packages, classes, objets, constructeurs, méthodes, spécificateurs d accès Membres static, surcharge de méthodes Les énumérations Relations de composition, associations, héritage Polymorphisme, classes abstraites, interfaces, conversions entre objets La classe Object et ses méthodes
Les classes enveloppes Création d une application avec classes en relation d association, de composition, d héritage Mise en œuvre du polymorphisme Les exceptions Hiérarchie des classes d exception Exceptions contrôlées et non-contrôlées Mécanisme try-catch, rôle de finally, try-with-ressources Propagation d exceptions Mise en place d une gestion d exceptions avec try-catch-finally dans une application Utilisation du try-with-resources Propagation d exceptions contrôlées et non-contrôlées Les traitements sur les chaînes de caractères Manipulation de chaînes avec String et StringBuilder, Scanner, StringTokenizer Utilisation des expressions régulières avec Pattern et Matcher Formatage des chaînes de caractères Utilisation de StringBuilder pour modifier une chaîne de caractères Analyse d exemples avec Pattern et Matcher Les collections et la généricité Choix d un type de collection: List, Set, Queue, Map Intérêt de la généricité Redéfinition des méthodes equals et hashcode Parcours de collections avec itérateur, boucle for-each Classes ArrayList, HashSet, TreeSet, HashMap Remplacement d un tableau java par une collection ArrayList dans un projet Les flux d'entrées-sorties Flots d octets, de caractères Manipulation de fichiers en lecture/écriture Manipulation de répertoires Bufferisation des données Sérialisation d objets Ecriture/lecture dans un fichier texte, puis un fichier binaire Manipulation de répertoires avec File Désérialisation d objets présents dans un fichier La nouvelle API pour la gestion du temps et des dates API des packages java.time et java.time.format Parsing et formatage des dates Saisie de dates, affichage en français, calculs Introduction aux expressions Lambda
Classes internes anonymes, expressions lambdas Interfaces java 8 Interfaces fonctionnelles Remplacement de classes internes anonymes par des lambdas Création de lambdas avec Consumer, Supplier et Predicate Déploiement d applications Principe du déploiement Création/utilisation de librairies jar Création/utilisation de jar exécutables Création avec Eclipse d une librairie pour utilisation dans un projet Déploiement d une application au moyen d un fichier jar exécutable Fonctionnement de la JVM Chargement des classes, Classloader, classpath Gestion de la mémoire, le garbage collector Le multithreadings, support de Java pour la gestion des threads Le modèle de sécurité de Java La réflexion, les annotations Les outils d'inspection, debugger, surveillance, traces Exécution d'exemples pédagogiques illustrant les concepts présentés Java et les design patterns Introduction aux design patterns, les documentations de référence Pattern singleton Patter Factory Pattern Decorator Pattern Builder Pattern Proxy Implémentation des 5 patterns les plus répandus Java et les tests unitaires Présentation, intérêt Automatisation et intégration des tests dans le processus de builds, l'exemple de Maven Mise en œuvre avec Junit4, assertions, annotations Cycle de vie d'exécution d'un test Données de tests Suite de tests Création de tests Junit pour tester des classes Mise en œuvre d une suite de tests Java et les bases de données Historique de l'accès aux données via Java, présentation de JDBC L'API JDBC, Connection, Statement, ResultSet Problématique de l'orm et introduction à JPA Configuration JPA, l'exemple d'hibernate
Mapping basique, API de l'entitymanager, les transactions Mapping de l héritage Mapping des associations, lazy-loading et cascading Le langage JPQL L'API criteria Les transactions longues Mise en œuvre de JPA avec Hibernate pour rendre persistants des beans entités Utilisation du langage de requêtes JPQL pour rechercher des beans entités Mise en œuvre de l héritage et d associations unidirectionnelles et bidirectionnelles Introduction aux Framework Java Notion de framework et de conteneur Vue d'ensemble et cas d'utilisation Le pattern IoC et l'injection de dépendances Indépendance vis à vis des implémentations Spring Core et l'injection de dépendance Exemple basique Mise en place de l'ide 1ère configuration de Spring, Tests via JUnit Découverte de l'api Spring Les beans, BeanFactory et ApplicationContext Mode singleton ou prototype, cycles de vie des beans Gestion des propriétés, notions de collaborators Méthodes d'injection de dépendances Annotations et Autowiring Définition de bean abstrait, gestion de l'héritage Différents types de configuration Spring, utilisation des différentes annotations L'IoC et les tests Isolation des classes à tester et Mock Objects Distinction tests unitaires et test d'intégration Les apports de Spring pour les tests Indépendance vis à vis des outils de tests Injection des données de test Mécanisme de cache pour l'accélération des tests Rollback des transactions Création de mock Objetcs, configuration Spring de Test, mise en place d'une suite de tests L IoC et les architectures multi-tiers Présentation architecture multi-tiers, Séparation claire des différentes couches Injection de services métiers, gestion des transactions, les choix possibles pour l'implémentation Couche de persistance et accès aux données : Exemple de Spring Data JPA Tests unitaires des différentes couches, tests d'intégration Application multi-tiers complète, utilisation de services POJO, EJB ou Rest, Implémentation JPA avec
Hibernate
Avant et après la formation Parce ce que la formation est un moment privilégié de sa carrière professionnelle, la pédagogie ne s arrête pas à un stage de quelques jours. Ainsi en vous inscrivant à une formation Clever-Institut, vous bénéficiez de l ouverture d un compte sur notre site internet vous permettant de : exprimer, en amont du stage, vos attentes quant à cette formation, afin de nous permettre de personnaliser chacune de nos sessions déjeuner avec le formateur et les autres stagiaires, afin de transformer ce moment en partage et retours d expérience évaluer la formation sur son contenu et sa pédagogie, et en partager le contenu avec les futurs stagiaires échanger avec votre formateur pendant les 15 jours qui suivent votre stage, pour toute question ou interrogation en rapport avec formation Comment s inscrire? La demande d'inscription à une session de formation se fait en ligne. Une fois votre inscription enregistrée, vous recevez dans les 48heures la Convention de Formation Professionnelle Continue simplifiée. Dès réception par nos services, de la convention signée, la convocation de stage est envoyée par mail aux stagiaires qui se voient ouvrir un compte sur notre site internet, leur permettant de préparer leur formation (accès, communication de leurs attentes, etc.). A noter, que l'inscription est considérée comme définitve, à la signature de la convention de stage. Clever Institut L institut de formation continue des professionnels du web Numéro agrément formation : 91 34 07449 34 37, boulevard des Capucines 75002 PARIS E-mail : info@clever-institut.com