Académique Documents
Professionnel Documents
Culture Documents
Thèmes :
1. ACE : Inversion de Contrôle (IoC)
2. ACE : Injection des Dépendances (ID)
1 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Atelier 1 IOC et ID By Doing -Partie 2-
Partie 1 :
Objectif : Vers un Couplage faible. Fichier de Configuration « .txt »
2 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Le fichier doit contenir les noms des classes implémentant les interfaces selon
l’utilisation demandée.
présentera ainsi :
3 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Activité 4 : Sur la classe « Pres2 »,
Activité 5 :
4 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Partie 2 :
Objectif : Vers un Couplage faible . Fichier de Configuration « .xml »
Activité 1 :
Donner un exemple.
Spring-core
Spring-Context
Spring-beans
Après chaque recherche, choisir l’avant dernière version pour éviter les problèmes de
stabilité :
5 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Exemple pour le premier mot clé :
6 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Question 1 : Sur le dossier « Resources », Rajouter un fichier de type « Spring
Config »:
7 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Activité 4 : Afin d’éviter d’écraser le code des autres solutions vues ultérieurement,
Activité 5 :On suppose que la classe « metierImpl » gère l’injection des dépendances
via un constructeur à un seul argument.
8 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Partie 3 :
Objectif : Vers un Couplage faible . Les annotations avec Spring
Spring propose une multitude d’annotations pour faciliter le travail pour les
développeurs afin de se concentrer sur la partie fonctionnelle tout en assurant un
couplage faible .
Question 1 : Au niveau des classes des objets qu’on va utiliser par la suite, on
rajoute directement l’annotation « @Component »
9 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Question 2 : On procède de la même manière au niveau de la classe «
DataImpl1 » et toutes les implémentations de l’interface IData .
Activité 2 :
10 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Activité 3 :Afin d’assurer l’injection des dépendances » mise en œuvre au niveau des
solutions précédentes. Spring propose de rajouter l’annotation « @Autowired »
11 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Activité 4 :
Le nom du Package n’est plus suffisant pour définir la classe à utiliser, et ce comme
précisé sur la couche présentation :
12 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23
Afin de lever la confusion, l’annotation « @Component » sera accompagnée par une
étiquette .
Activité 5 :On suppose que la classe « metierImpl » gère l’injection des dépendances
via un constructeur à un seul argument (voir l’activité 5 de la partie 1)
13 -TP1-2 : ACE | Inversion de Contrôle / Injection des Dépendances - Mme M.CHERRABI 10/10/23