Ressort DI via la méthode du setter

DI de ressort via la méthode de réglage

Un exemple simple de Spring pour vous montrer comment injecter par dépendance un bean via la méthode setter, la méthode DI la plus utilisée.

1. IOutputGenerator

Une interface et une classe d'implémentation de celui-ci.

package com.example.output;

public interface IOutputGenerator
{
    public void generateOutput();
}
package com.example.output.impl;

import com.example.output.IOutputGenerator;

public class CsvOutputGenerator implements IOutputGenerator {
    public void generateOutput() {
        System.out.println("This is Csv Output Generator");
    }
}

2. Classe d'aide

Une classe d'assistance, utilise plus tard Spring pour DI le IOutputGenerator.

package com.example.output;

import com.example.output.IOutputGenerator;

public class OutputHelper {
    IOutputGenerator outputGenerator;

    public void generateOutput() {
        outputGenerator.generateOutput();
    }

    //DI via setter method
    public void setOutputGenerator(IOutputGenerator outputGenerator) {
        this.outputGenerator = outputGenerator;
    }
}

3. Configuration du ressort

Configurez le bean dans le fichier de configuration Spring et référencez le bean «CsvOutputGenerator» dans «OutputHelper», via la balise de propriété, l'attribut ref.

Dans ce cas, Spring va DI le bean «CsvOutputGenerator» dans la classe «OutputHelper», via la méthode setter «setOutputGenerator(IOutputGenerator outputGenerator)».



    
        
    

    

4. Exécuter

Chargez tout et lancez-le.

package com.example.common;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.example.output.OutputHelper;

public class App {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "SpringBeans.xml");

        OutputHelper output = (OutputHelper)context.getBean("OutputHelper");
                output.generateOutput();
    }
}

Sortie

This is Csv Output Generator

Télécharger le code source

Téléchargez-le -Spring-DI-setter-method-example.zip (6 Ko)