Inversion de contrôle- Cela signifie donner le contrôle de la création et de l'instanciation des beans au conteneur Spring IOC et le seul travail que le développeur doit faire est de configurer les beans dans le fichier xml de Spring.
Injection de dépendances-
Considérons une classe Employé
class Employee {
private int id;
private String name;
private Address address;
Employee() {
id = 10;
name="name";
address = new Address();
}
}
et considérer la classe Adresse
class Address {
private String street;
private String city;
Address() {
street="test";
city="test1";
}
}
Dans le code ci-dessus, les valeurs de la classe d'adresse ne seront définies que lorsque la classe d'employé sera instanciée, ce qui constitue une dépendance de la classe d'adresse à la classe d'employé. Et Spring résout ce problème en utilisant le concept d'injection de dépendance en fournissant deux façons d'injecter cette dépendance.
- Injection de setter
Méthode Setter dans la classe Employé qui prend une référence de la classe Adresse
public void setAddress(Address addr) {
this.address = addr;
}
- Injection du constructeur
Constructeur de la classe Employé qui accepte l'adresse
Employee(Address addr) {
this.address = addr;
}
De cette façon, les valeurs de la classe d'adresse peuvent être définies indépendamment en utilisant l'injection de setter/constructor.
0 votes
Duplication possible de Qu'est-ce que l'inversion de contrôle ?
4 votes
@SteveChambers ce n'est pas un doublon, cette question est posée dans la perspective des sources. Cette question est posée en perspective générale.
0 votes
stackoverflow.com/questions/57386896/