如何访问springs中的另一个字段@Value

问题描述 投票:0回答:1

就像标题所示,我想使用 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 spring dependency-injection javabeans
1个回答
0
投票

这可以在纯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);
   }

   ...
}
© www.soinside.com 2019 - 2024. All rights reserved.