セッターメソッドによるSpring DI

セッターメソッドによるSpring DI

最も一般的に使用されるDIメソッドであるsetterメソッドを介してBeanを依存性注入する方法を示す簡単なSpringの例。

1. 出力ジェネレーター

インターフェースとその実装クラス。

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. ヘルパークラス

ヘルパークラス。後でSpringを使用して出力ジェネレーターを実行します。

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. スプリング構成

Spring構成ファイルでBeanを構成し、プロパティタグ、ref属性を介して、Bean「CsvOutputGenerator」を「OutputHelper」に参照します。

この場合、Springは、setterメソッド「setOutputGenerator(IOutputGenerator outputGenerator)」を介して、Bean「CsvOutputGenerator」を「OutputHelper」クラスにDIします。



    
        
    

    

4. それを実行します

すべてをロードして実行します。

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();
    }
}

出力

This is Csv Output Generator

ソースコードをダウンロード

ダウンロード–Spring-DI-setter-method-example.zip(6KB)