Contenu de la formation
Rappels de la programmation Orientée Objet
Les classes, les attributs, les méthodes
L’instanciation, les objets
L’encapsulation
L’héritage, le polymorphisme
Introduction Java, Java SE
Les origines de Java, son historique
Le JDK (Java Development Kit), ses versions
L’outil de développement : Eclipse
La plate-forme Java SE 8, Standard Edition
Les principaux apports des versions Java 5 à Java 8
Le fonctionnement de Java, la machine virtuelle (JVM), les exécutables, la gestion de la mémoire (garbage collector
La documentation, Javadoc
Les architectures logicielles et les techniques Java
Architecture logicielle et technique en couches
La plate-forme Java EE Enterprise Edition
Les principaux composants Java EE (EJB, Servlet, JSP)
Java embarqué, Android
T.P. : Prise en main d’Eclipse, les différents types de projets Java. Création du projet Java SE pour l’environnement de formation, choix du JDK
Le langage de programmation Objet de Java
Les packages, les classes, les méthodes
Les objets, les variables, les composants
La création du projet Java sous Eclipse
Les bases du langage
Les commentaires pour la Javadoc
Généralités, littéraux, opérateurs, annotations
Les structures de contrôle
Création d’application
Structure générale d'un traitement
La construction d’un composant métier
La séparation Conceptuel/Visuel
Tests associés au composant
JUnit : outil de tests unitaires
T.P. : Création d’un compte bancaire et du test associé pour la mise en œuvre de notre application bancaire. Intégration de l’encapsulation puis mise à jour du Compte. Définir l’impact des évolutions sur les tests unitaires
Les chaînes de caractères
La classe String
Les constructeurs, les méthodes
Les conversions de types
Les structures de données
Les tableaux
Les classes de données
T.P.: Modification du Compte Bancaire afin de manipuler les tableaux
Les Collections
Les Collections, les Maps
Les énumérations, les itérateurs
Les Générics
T.P. : Intégration des collections dans la gestion bancaire. Le Compte est composé d’une classe Mouvement. Intégration de l’héritage. Manipulation du polymorphisme, au travers des collections et iterator.
Les exceptions
La gestion des erreurs
La syntaxe Java pour gérer les exceptions
Définir ses propres exceptions
Exécution de l’application avec et sans la gestion des erreurs
T.P. : Gérer les erreurs fonctionnelles de notre Compte bancaire, via la manipulation des Exceptions. Faire plusieurs tests unitaires pour intercepter les erreurs de différentes manières.
La communication d’objets Java Bean/Thread
Présentation des Beans
Cyle de vie de l’objet géré par la JVM
Thread : processus et multi-tâches
T.P. : Mettre en œuvre des threads, dans notre application afin de gérer du multi-tâches
Classes abstraites et interfaces
Intérêt des classes abstraites et des interfaces
Mise en œuvre des interfaces
Les interfaces dans les architectures distribuées
Présentation d’interface homme machine IHM
Introduction aux interfaces graphiques (AWT, Swing, SWT)
Réalisation d'interfaces avec Visual Editor
Gestion des événements utilisateur avec les Listeners
Les classes internes et anonymes
T.P. : Création d’une interface graphique pour déposer, retirer de l’argent (virtuel) et consulter le solde bancaire de notre Compte
Accès aux bases de données relationnelles
Accès aux données avec l'API JDBC et les DAO
Les composants Java mis en œuvre : les drivers, les requêtes, les connexions, les ensembles de résultats
Gestion et encapsulation des exceptions
Gestion des transactions
Création, récupération, mise à jour et suppression de données dans la base (CRUD)
La persistance des objets dans une base relationnelle
Le mapping relationnel/objet
Les solutions avec EJB, Hibernate, JPA
T.P. : Manipulation des bases de données relationnelles avec Java. De manière directe, en intégrant du SQL aux classes Java. Maintenir l’application DAO, afin d’ajouter des opérations CRUD. Debugger et tester l’application
Entrées sorties
Accès au système de fichiers
Les fichiers bruts, les fichiers texte et les fichiers de propriétés
Récupération de propriétés
Les objets et la sérialisation
La persistance des objets dans un fichier sauvegarde et restauration d’objet
T.P. : Rendre persistante notre gestion bancaire en manipulant des Input et Output Object
Le projet Java réalisé sous Eclipse
Création d’une archive java :.jar
Exportation et importation de projet
Génération de la documentation de projet
T.P. : Création d’une archive pour exporter le projet bancaire
Présentation de quelques API Java 8
API Date and Time : concepts de date, d’heure, d’instant, de durée et de période temps. Classes immutables, conception liée au domaine, séparation des chronologies. Formatage et conversion de date
Les expressions Lambdas
Les Streams