A l’issue de cette formation les stagiaires seront capables de développer une application Java en utilisant les outils les plus répandues. Il maîtrisera le kit de développement java (JDK) et le fonctionnement de la machine virtuelle. Il accédera aux bases de données avec JDBC, et utilisera le framework Spring pour améliorer la qualité de ses développements.
Public et
pré-requis: Pour les développeurs, analystes programmeurs, "anciennes technologies" ainsi que les chefs de projets.
Module 1: Introduction à la technologie Java
Présentation des éditions Java : JSE (Java Standard Edition) ,JEE (Java Enterprise Edition : J2EE)
Le JDK (Java Development Kit).
Les outils du JDK.
La documentation java : la JavaDoc.
Module 2: Présentation de la technologie Java
Développement d'une première application
Processus de compilation et d'exécution
Atelier pratique: écriture d'un premier programme, compilation et exécution
Module 3: Concepts de programmation orientée objets
Qu'est-ce qu'un objet
Qu'est-ce qu'une classe
L'héritage
Les interfaces
Les packages
Atelier pratique: concepts de programmation orientée objets
Module 4: Bases du langage
Variables et nommage
Types de données
Atelier pratique: utilisation des variables et des types de données
Module 5: Tableaux
Opérateurs d'égalité, relationnels et conditionnels
Opérateurs d'assignation, arithmétiques et unaires
Opérateurs binaires et de décalages
Atelier pratique: mise en oeuvre des opérateurs
Module 6: Expressions, instructions et blocs
L'instruction if-else
L'instruction switch
L'instruction while et do-while
L'instruction for
Instructions de branchement
Atelier pratique: utilisation des instructions Java
Module 7: Classes et objets
Déclaration de classes
Déclaration de variables membres
Définitions de méthodes
Utilisation de constructeurs
Passage d'arguments à des méthodes ou des constructeurs
Création d'objets
Utilisation d'objets
Retour de valeurs à partir de méthodes
Utilisation du mot-clé this
Contrôle d'accès aux membres d'une classe
Atelier pratique: création de classes et d'objets
Instances et membres de classes
Classes imbriquées
Types énumération
Annotations
Atelier pratique: classes imbriquées, énumérations et annotations
Module 8: Interfaces et héritage
Déclaration d'une interface
Implémentation d'une interface
Utilisation d'une interface comme un type
Atelier pratique: création et implémentation d'interfaces
Concepts de l'héritage
Surcharge de méthodes
Atelier pratique: Héritage de classes
Polymorphisme
Atelier pratique: mise en oeuvre du polymorphisme
Utilisation du mot-clé super
La super-classe Object
Classes et méthodes finales
Classes abstraites
Atelier pratique: mise en oeuvre du mot-clé final, de la classe Object et création de classes abstraites
Module 9: Nombres et chaînes de caractères
Les classes Numbers
Formattage des nombres
Caractères
Conversion entre nombres et chaînes
Manipulation des caractères dans une chaîne
La classe StringBuilder
Atelier pratique: utilisation des classes Numbers, travail avec les chaînes, conversion et utilisation de StringBuilder
Module 10: Utilisation des génériques
Introduction aux types génériques
Constructeurs et méthodes génériques
Sous-typage
Le type Erasure
Atelier pratique: mise en oeuvre des génériques
Module 11: Packages
Création d'un package
Nommage d'un package
Utilisation des membres de package
Utilisation des fichiers sources et des classes
Atelier pratique: création et utilisation de packages
Module 12: Collections
Introduction aux collections
L'interface Collection
Les interfaces Set, Queue, List et Map
Les interfaces SortedSet et SortedMap
Les implémentations Set, List, Map et Queue
Implémentation de collections personnalisées
Atelier pratique: utilisation des collections
Module 13: IO
Les entrées sorties en java
Le pattern décorateur
Les Readers, les Writers et les Streams : utiliser les bonnes classes.
Les fichiers Properties
La sérialisation et la désérialisation d’objets.
Atelier pratique : utilisation des entrées sorties
Module 14: Programmation Réseau
Rappel sur les concepts de programmations réseaux
Les modes de communication par stream et par datagram
Atelier pratique : Implémentation d’un serveur et d’un client.
Module 15: JDBC
Notion d’abstraction de la base de donnée
Travailler avec les bases de données en utilisant l’API JDBC
La notion de mapping objet relationnel
Présentation d’Hibernate et de JPA.
Atelier pratique : réalisation d’un CRUD (Create Read Update Delete)
Module 16: Les Threads
Définition de la programmation multi-thread.
Création de thread, contrôle d’éxécution.
Communication entre les threads.
Synchronizer l’accès aux données.
Atelier pratique : réalisation d’une application multithread
Module 17: Introduction à Spring
Apports de Spring
Notion de conteneur léger
Programmation orienté aspects (POA)
Intégration d'autres framework à Spring
Architecture de Spring
Module 18: Fondamentaux de Spring
Problématiques de conception d'une application
Inversion de contrôle
Injection des dépendances
Gestion du cycle de vie des objets (Singleton et génération d'événements)
Module 19: Le conteneur léger de Spring
Fabrique de Bean et contexte d'application
Définition d'un Bean
Cycle de vie des Beans et interactions avec le conteneur
Support de l'internationalisation
Abstraction des accès aux ressources
Publication d'événements
Atelier pratique : utilisation de la fabrique de bean
Module 20: Gestion des données
Stratégies et design patterns traditionnels (script de transaction, DAO, couche domaine et mapping objet/relationnel)
Utilisation des solutions d'ORM (Hibernate)
Atelier pratique : utilisation simple de Spring et Hibernate pour accéder à une base de données