Java: Bibliothèques et Frameworks – 12H

Jour 1: Bibliothèques Essentielles (3 heures)

Heure 1: Bibliothèque Apache Commons (1 heure)
  1. Présentation d’Apache Commons
    • Introduction à Apache Commons et ses sous-projets les plus utilisés (Commons IO, Commons Lang, Commons Collections)
  2. Utilisation des classes utilitaires
    • Manipulation des chaînes de caractères avec Commons Lang
    • Lecture et écriture de fichiers avec Commons IO
    • Exercices pratiques
Heure 2: Bibliothèques de Tests (1 heure)
  1. Introduction aux tests unitaires avec JUnit 5
    • Importance des tests dans le développement logiciel
    • Création de tests unitaires avec JUnit 5
    • Assertions et annotations importantes (@Test, @BeforeEach, @AfterEach)
  2. Mockito pour les tests mockés
    • Pourquoi et comment utiliser Mockito pour le mock d’objets
    • Configurer Mockito avec JUnit
    • Exercices pratiques
Heure 3: Gestion de JSON avec Jackson (1 heure)
  1. Introduction à Jackson
    • Sérialisation et désérialisation des objets Java en JSON
    • Utilisation de Jackson ObjectMapper
  2. Annotations Jackson
    • Utilisation d’annotations comme @JsonProperty, @JsonIgnore pour personnaliser la sérialisation
    • Exercices pratiques

Jour 2: Frameworks Web et ORM (5 heures)

Heure 1: Introduction à Spring Framework (1 heure)
  1. Architecture du Framework Spring
    • Modules clés de Spring : Core, AOP, Data, MVC
    • Principe de l’injection de dépendances avec Spring IoC
  2. Configuration d’un projet Spring avec Maven
    • Utilisation de Spring Boot pour démarrer rapidement un projet
    • Exercices pratiques
Heure 2: Spring Boot (1 heure)
  1. Démarrage rapide avec Spring Boot
    • Configuration minimale avec application.properties
    • Création de contrôleurs REST avec @RestController
  2. Spring Boot DevTools et Actuator
    • Utilisation de DevTools pour recharger les applications automatiquement
    • Monitoring d’applications avec Actuator
    • Exercices pratiques
Heure 3: ORM avec Hibernate et JPA (1 heure)
  1. Introduction à Hibernate et JPA
    • Pourquoi utiliser des ORM (Object-Relational Mapping) ?
    • Introduction à Hibernate et Java Persistence API (JPA)
  2. Annotations JPA
    • Mappage des entités avec les annotations @Entity, @Table, @Id
    • Relations entre entités (@OneToMany, @ManyToOne, etc.)
    • Exercices pratiques
Heure 4: Requêtes avancées avec JPA (1 heure)
  1. Langage JPQL (Java Persistence Query Language)
    • Requêtes basiques avec JPQL et EntityManager
    • Requêtes dynamiques avec Criteria API
  2. Gestion des transactions avec Spring Data JPA
    • Annotations @Transactional et gestion des transactions dans les services Spring
    • Exercices pratiques
Heure 5: Spring Boot Testing (1 heure)
  1. Tests dans Spring Boot
    • Tests unitaires et d’intégration avec Spring Boot Test
    • Utilisation de @MockBean et @Autowired dans les tests
  2. Configurer les bases de données pour les tests
    • Utilisation d’une base de données en mémoire pour les tests (H2)
    • Création de tests pour les contrôleurs REST et les services
    • Exercices pratiques

Jour 3: Frameworks Avancés (4 heures)

Heure 1: Spring Security (1 heure)
  1. Introduction à Spring Security
    • Principes de base de la sécurité des applications web
    • Authentification et autorisation avec Spring Security
  2. Configurer une sécurité de base
    • Utilisation de WebSecurityConfigurerAdapter pour protéger des routes
    • Gestion des utilisateurs et des rôles
    • Exercices pratiques
Heure 2: Spring Security avec JWT (1 heure)
  1. JSON Web Tokens (JWT)
    • Introduction aux tokens JWT pour l’authentification sans session
    • Générer et valider des JWT avec Spring Security
  2. Configurer un système d’authentification JWT
    • Créer des endpoints pour s’authentifier et générer un token JWT
    • Protéger les routes REST avec JWT
    • Exercices pratiques: Implémenter une authentification JWT pour un service REST existant.
Heure 3: Framework Spring AOP (Aspect-Oriented Programming) (1 heure)
  1. Concept de base de l’AOP
    • Introduction à la programmation orientée aspect
    • Concepts de base : Advice, Pointcut, Aspect
  2. Spring AOP
    • Utilisation d’annotations comme @Aspect pour créer des aspects
    • Utilisation des Pointcuts pour intercepter des méthodes spécifiques
    • Exercices pratiques
Heure 4: Micronaut (1 heure)
  1. Introduction à Micronaut
    • Pourquoi utiliser Micronaut pour les microservices
    • Comparaison avec Spring Boot
  2. Création d’une application Micronaut
    • Démarrage d’un projet Micronaut et configuration
    • Création d’un contrôleur REST avec Micronaut
    • Exercices pratiques

Description

en_USEnglish