Gaëtan TEMATE
Lead Tech Java | AWS | React
© 2025 All rights reserved.
Java: Bibliothèques et Frameworks – 12H
Jour 1: Bibliothèques Essentielles (3 heures)
Heure 1: Bibliothèque Apache Commons (1 heure)
- Présentation d’Apache Commons
- Introduction à Apache Commons et ses sous-projets les plus utilisés (Commons IO, Commons Lang, Commons Collections)
- 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)
- 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
)
- 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)
- Introduction à Jackson
- Sérialisation et désérialisation des objets Java en JSON
- Utilisation de Jackson ObjectMapper
- Annotations Jackson
- Utilisation d’annotations comme
@JsonProperty
,@JsonIgnore
pour personnaliser la sérialisation - Exercices pratiques
- Utilisation d’annotations comme
Jour 2: Frameworks Web et ORM (5 heures)
Heure 1: Introduction à Spring Framework (1 heure)
- Architecture du Framework Spring
- Modules clés de Spring : Core, AOP, Data, MVC
- Principe de l’injection de dépendances avec Spring IoC
- 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)
- Démarrage rapide avec Spring Boot
- Configuration minimale avec application.properties
- Création de contrôleurs REST avec @RestController
- 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)
- Introduction à Hibernate et JPA
- Pourquoi utiliser des ORM (Object-Relational Mapping) ?
- Introduction à Hibernate et Java Persistence API (JPA)
- Annotations JPA
- Mappage des entités avec les annotations
@Entity
,@Table
,@Id
- Relations entre entités (
@OneToMany
,@ManyToOne
, etc.) - Exercices pratiques
- Mappage des entités avec les annotations
Heure 4: Requêtes avancées avec JPA (1 heure)
- Langage JPQL (Java Persistence Query Language)
- Requêtes basiques avec JPQL et
EntityManager
- Requêtes dynamiques avec
Criteria API
- Requêtes basiques avec JPQL et
- Gestion des transactions avec Spring Data JPA
- Annotations
@Transactional
et gestion des transactions dans les services Spring - Exercices pratiques
- Annotations
Heure 5: Spring Boot Testing (1 heure)
- Tests dans Spring Boot
- Tests unitaires et d’intégration avec Spring Boot Test
- Utilisation de
@MockBean
et@Autowired
dans les tests
- 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
- Utilisation d’une base de données en mémoire pour les tests (
Jour 3: Frameworks Avancés (4 heures)
Heure 1: Spring Security (1 heure)
- Introduction à Spring Security
- Principes de base de la sécurité des applications web
- Authentification et autorisation avec Spring Security
- Configurer une sécurité de base
- Utilisation de
WebSecurityConfigurerAdapter
pour protéger des routes - Gestion des utilisateurs et des rôles
- Exercices pratiques
- Utilisation de
Heure 2: Spring Security avec JWT (1 heure)
- JSON Web Tokens (JWT)
- Introduction aux tokens JWT pour l’authentification sans session
- Générer et valider des JWT avec Spring Security
- 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)
- Concept de base de l’AOP
- Introduction à la programmation orientée aspect
- Concepts de base : Advice, Pointcut, Aspect
- Spring AOP
- Utilisation d’annotations comme
@Aspect
pour créer des aspects - Utilisation des Pointcuts pour intercepter des méthodes spécifiques
- Exercices pratiques
- Utilisation d’annotations comme
Heure 4: Micronaut (1 heure)
- Introduction à Micronaut
- Pourquoi utiliser Micronaut pour les microservices
- Comparaison avec Spring Boot
- 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