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

Пружинный DI через конструктор

– Пружинный DI через конструктор

Использует Spring для внедрения зависимостей в компонент с помощью конструктора.

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

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

package com.mkyong.output;
 
public interface IOutputGenerator
{
	public void generateOutput();
}
package com.mkyong.output.impl;
 
import com.mkyong.output.IOutputGenerator;
 
public class JsonOutputGenerator implements IOutputGenerator
{
	public void generateOutput(){
		System.out.println("This is Json 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 constructor
	public OutputHelper(IOutputGenerator outputGenerator){
		this.outputGenerator = outputGenerator;
	}
	
}

3. Конфигурация пружины

Смотрите ниже конфигурацию Spring bean, Spring перейдет над “Генератором вывода Json” в этот класс “outputhelper” с помощью конструктора ” public outputhelper(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 Json Output Generator

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

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