Java 如何在Spring中使用SpEL注入方法调用的结果?

Java 如何在Spring中使用SpEL注入方法调用的结果?,java,spring,spring-el,Java,Spring,Spring El,我想将方法调用的结果注入到我的类中。我有下一个代码: 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 @Autowir

我想将方法调用的结果注入到我的类中。我有下一个代码:

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种不同的变体。第一个有效,第二个无效,但不确定我是否正确编写了SpEL,第三个也无效

实际上我需要的是第三种变体。我需要在名为“a.b”的bean上注入调用方法“getC(name)”的结果


也许有人也有类似的问题,并且知道怎么做?

您不能在@Qualifier中使用SpringEL,只能在SpringEL中使用constant

在名为“a.b”的bean上注入调用方法“getC(name)”的结果,如下所示:

@Bean(name="a.b")
private B b(){
   return getC(name);
}

也许这对你有用: