@Component
public class Sample {
@Value("${my.name}")
public static String name;
}
私はSample.name
をしようとすると、それは常に 'NULL' です。だから私はこれを試した。
public class Sample {
public static String name;
@PostConstruct
public void init(){
name = privateName;
}
@Value("${my.name}")
private String privateName;
public String getPrivateName() {
return privateName;
}
public void setPrivateName(String privateName) {
this.privateName = privateName;
}
}
このコードは機能します。 Sample.name
が正しく設定されています。これは良い方法ですか?そうではありませんか?そうでない場合、もっと良い方法がありますか?そしてそれをどうやってやるの?
これは解決しません。オブジェクトの作成前に静的変数が使用されている場合例えば、スタティックブロックの下でスタティック変数を使用してリソースを構築する場合、リソースはヌルで構築されます。 –