我想将方法调用的结果注入我的类。我有下一个代码:
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)”的结果
也许有人有类似的问题,知道怎么做?
答案 0 :(得分:0)
你不能在@ Qualifier中使用SpringEL,并且只能在SpringEL中使用常量。
在这个名为“a.b”的bean上注入调用方法“getC(name)”的结果:
@Bean(name="a.b")
private B b(){
return getC(name);
}