Junior — Middle
De quelles manières peut-on implémenter l'injection de dépendances pour Beans dans une application?
sobes.tech IA
Réponse de l'IA
En Java, l'injection de dépendances (Dependency Injection, DI) pour les Beans peut être réalisée de plusieurs manières :
- Via le constructeur — les dépendances sont passées au constructeur de la classe. C'est la méthode la plus préférée, car elle permet de créer des objets immuables et facilite les tests.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Via les setters (Setter Injection) — les dépendances sont définies via des méthodes setters après la création de l'objet.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Via les champs (Field Injection) — les dépendances sont injectées directement dans les champs de la classe à l'aide d'annotations, par exemple,
@Autowireddans Spring.
public class Service {
@Autowired
private Repository repo;
}
- Via des méthodes de fabrique ou des classes de configuration — la création et la liaison des Beans se font dans des classes de configuration ou en XML.
Chaque méthode a ses avantages et inconvénients, mais dans les applications modernes, on utilise le plus souvent l'injection par constructeur ou les annotations Spring pour la liaison automatique des dépendances.