Java Spring属性注入和属性初始化顺序

Java Spring属性注入和属性初始化顺序,java,spring,jvm,spring-bean,Java,Spring,Jvm,Spring Bean,filed1由属性文件中定义的一个值(“abc”)注入。 在某些情况下,field2的值始终为“prefix123”,而不是“prefixabc” 属性注入和初始化是否有顺序?在后构造方法中初始化字段2可能更安全: class A { private String field1="123"; private String field2="prefix"+field1; getter&setter; } 这样,您就知道它将在字段1初始化后发生。您可以直接在配置内部执行串联,请参阅

filed1由属性文件中定义的一个值(“abc”)注入。 在某些情况下,field2的值始终为“prefix123”,而不是“prefixabc”


属性注入和初始化是否有顺序?

在后构造方法中初始化字段2可能更安全:

class A {

private String field1="123";

private String field2="prefix"+field1;

getter&setter;
} 

这样,您就知道它将在字段1初始化后发生。

您可以直接在配置内部执行串联,请参阅:和。这将确保field1字符串bean在连接之前已初始化。
@PostConstruct
void initFieldTwo(){
  field2="prefix"+field1;
}