Injection de dépendance de printemps (DI)

Injection de dépendance de ressort (DI)

Dans Spring FrameWork, le modèle de conception d'Injection de dépendances (DI) est utilisé pour définir les dépendances entre les objets. Il existe en deux types principaux:

  • Injection de poseur

  • Injection de constructeur

1. Injection de poseur

C'est la méthode DI la plus populaire et la plus simple, elle injectera la dépendance via une méthode setter.

Exemple

Une classe d'assistance avec une méthode setter.

package com.example.output;

import com.example.output.IOutputGenerator;

public class OutputHelper
{
    IOutputGenerator outputGenerator;

    public void setOutputGenerator(IOutputGenerator outputGenerator){
        this.outputGenerator = outputGenerator;
    }

}

Un fichier de configuration de bean pour déclarer les beans et définir la dépendance via l'injection de setter (balise de propriété).



    
        
            
        
    




Vous injectez simplement un bean ‘CsvOutputGenerator’ dans l’objet ‘OutputHelper’ via une méthode de définition (setOutputGenerator).

2. Injection de constructeur

Cette méthode DI injectera la dépendance via un constructeur.

Exemple

Une classe d'assistance avec un constructeur.

package com.example.output;

import com.example.output.IOutputGenerator;

public class OutputHelper
{
    IOutputGenerator outputGenerator;

        OutputHelper(IOutputGenerator outputGenerator){
        this.outputGenerator = outputGenerator;
    }
}

Un fichier de configuration de bean pour déclarer les beans et définir la dépendance via l'injection de constructeur (balise constructeur-arg).



    
        
            
        
    




Vous injectez simplement un bean «CsvOutputGenerator» dans l’objet «OutputHelper» via un constructeur.

Setter ou injection de constructeur?

Il n'y a pas de règle stricte définie par le framework Spring, utilisez simplement le type de DI qui convient aux besoins de votre projet. Cependant, en raison de la simplicité de l'injection de setter, elle est toujours sélectionnée pour la plupart des scénarios.