2016-08-03 2 views
2

私のクラスにメソッド呼び出しの結果を注入したい。私は次のコードを持っています:SpELを使用してSpringでメソッド呼び出しの結果を注入する方法は?

class Example { 
    private static final String NAME = "name"; 

    // #1 
    @Autowired 
    @Qualifier("a.b") 
    private B b;  

    // #2 
    @Autowired 
    @Qualifier("#{a.b}") 
    private B b; 

    // #3 
    @Autowired 
    @Qualifier("#{a.b.getC('" + NAME + "')}") 
    private C c; 
} 

私は3つの異なる種類があります。最初は動作していますが、2番目のものは動作しませんが、SpELを正しく書き込んだかどうか、3番目のものも正しく動作していないかどうかはわかりません。

実際に私が必要とするのは第3の変種です。私は "a.b"と呼ばれるbeanにメソッドgetC(name)を呼び出す結果を注入する必要があります

多分誰かに同様の問題があり、それを行う方法を知っていますか?

+0

はたぶんこれはあなたのために役立つことができます::このように、「AB」と呼ばれる豆の上に「GETC(名前)」メソッドを呼び出すの

注入結果 http://stackoverflow.com/questions/19225115 /ハウツー・トゥ・ドゥー・ドゥー・条件付きオートワイヤイン・イン・スプリング –

答えて

0

あなたは@ QualifierでSpringELを使用することはできません。また、SpringELで定数を使用することもできます。

@Bean(name="a.b") 
private B b(){ 
    return getC(name); 
} 
関連する問題