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)