就像标题所示,我想使用 springs
@Value
注释访问另一个字段值。
我想这样做是为了通过另一个字段 id 解析字段值。例如:我有一个字段
id
和一个字段 idContent
。 idContent
字段应通过使用 id
字段值调用另一个 bean 的方法来自动创建。
我尝试过这样的事情:
public class MyBean {
// This is set beforehand
private final String id;
@Value("#{otherBean.resolve(#id)}")
private SomeObject idObject;
}
我收到以下消息:
org.springframework.beans.factory.BeanExpressionException: Expression parsing failed
这可以在纯java中使用构造函数注入而不是字段注入来完成
@Component
public class MyBean {
private final String id;
private final SomeObject idObject;
public MyBean(@Value("${id}") String id, OtherBean otherBean) {
this.id = id;
this.idObject = otherBean.resolve(id);
}
...
}