Рубрики
Без рубрики

Пружинный DI с помощью метода настройки

– Пружинный DI с помощью метода настройки

Простой пример Spring, показывающий, как внедрить компонент в зависимость с помощью метода setter, наиболее часто используемого метода DI.

1. Выходной генератор

Интерфейс и класс его реализации.

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

import com.mkyong.output.IOutputGenerator;

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

2. Вспомогательный класс

Вспомогательный класс, позже используйте Spring для ввода IOutputGenerator.

package com.mkyong.output;

import com.mkyong.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. Конфигурация пружины

Настройте компонент в файле конфигурации Spring и укажите ссылку на компонент “Генератор вывода Csv” в “Outputhelper” с помощью тега свойства, атрибута ref.

В этом случае Spring переведет компонент “Генератор вывода Csv” в класс “Помощник вывода” с помощью метода настройки ” setOutputGenerator (ioutputgenerator outputgenerator )”.



	
		
	
 
	


4. Запустите его

Загрузите все и запустите его.

package com.mkyong.common;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.mkyong.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();
	}
}

Выход

This is Csv Output Generator

Скачать Исходный Код

Оригинал: “https://mkyong.com/spring/spring-di-via-setter-method/”