2

autowired フィールド (コンストラクターまたは set メソッドを介して違いがない場合) の値が、それが使用されているクラスに注入された時期を正確に知っている人はいますか?

たとえば、値 serverProperties を挿入しようとしています。私が見つけることができるように、私がそれを使用しようとしているときまでに、フィールドに値が注入されていません.クラスフィールドROOT_DIRECTORYの初期値を設定します。ここで、serverPropertiesはNullポインター例外をスローします. 注射は実際にいつ行われますか?すべてのクラスフィールドが初期化された後? 前もって感謝します。

PS:保持 Bean は、注釈付きのコントローラーです。

@Autowired
@Qualifier("serverProperties")
private Properties serverProperties;

private final String ROOT_DIRECTORY = serverProperties.getProperty("root.path");
4

2 に答える 2

2

アノテーションを使用している場合は、 @PostConstruct を使用できます

于 2014-11-20T01:09:19.073 に答える