Programme du cours

9 jours (63 H) | 4-JAV-DEVRenseignez-vousCette formation vous intéresse ? 
 

Objectifs

A l’issue de cette formation les stagiaires seront capable 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.

Participants / Pré-requis

Avoir suivi la formation sur la conception orientée objet ou maîtriser la conception objet

Contenu

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.

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

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

Bases du langage

  • Variables et nommage
  • Types de données
  • Atelier pratique: utilisation des variables et des types de données

Tableaux

  • Atelier pratique: utilisation de 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

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

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

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

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

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

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

Collections

  • Introduction aux collections
  • L’interface Collection
  • Les interfaces Set, Queue, List et Map
  • Les interfaces SortedSet et SortedMap
  • « Evoluer vers le développement objet »
  • Les implémentations Set, List, Map et Queue
  • Implémentation de collections personnalisées
  • Atelier pratique: utilisation des collections

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

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.

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)

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

Spring

Introduction à Spring

  • Apports de Spring
  • Notion de conteneur léger
  • Programmation orienté aspects (POA)
  • Intégration d’autres framework à Spring
  • Architecture de Spring

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)

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

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
 
Cette formation vous intéresse ? Renseignez-vous