0

私は、パラメーターの値に応じて、異なる関数が呼び出される春の構成ベースの例を求めています。

「スプリング関数リゾルバー」などをグーグルで検索してきましたが、残念ながらオンラインで何も見つからないようです。

したがって、基本的に、すべての関数は何らかの方法でどこかに保存され、このパラメーターの値に基づいて、さまざまな関数を呼び出します。

例: "PameterISA" -> A() を呼び出す

"ParameterISB" -> B() を呼び出す

等....

これはSpringで簡単にできますか?

ありがとう

4

1 に答える 1

0

これを処理するオブジェクト指向の方法は、共通のインターフェースを実装するさまざまなクラスのインスタンスである可能性がある場合、戦略パターンを使用PameterISAできますPameterISB

interface Strategy {
    void doIt();
}

class ClassA implements Strategy {
    @Override
    public void doIt() {
        // execute the code that corresponds to A()
    }
}

class ClassB implements Strategy {
    @Override
    public void doIt() {
        // execute the code that corresponds to B()
    }
}

今、あなたがしなければならないのは

Strategy PameterISA = new ClassA();
Strategy PameterISB = new ClassB();

// ...

Strategy strategy = // an instance of either ClassA or ClassB
strategy.doIt();    // will call the correct method.

または、パラメーターがbyte、、、(またはそれらのボックス化された対応物)、または(Java 7以降)の場合は、単純な古いswitchステートメントを使用できます。shortchar intenumString

switch (parameter) {
    case "PameterISA":
        A();
        break;
    case "PameterISB":
        B();
        break;
    default:
        throw new IllegalArgumentException(parameter);
}

if最後に、手続き型else if---elseパターンを使用できます。

于 2013-02-11T19:37:07.183 に答える