0

@Value で注釈が付けられた日付フィールドを持つクラス A があり、デフォルト値として現在の日付を取得します。

XML ファイルで Bean を作成すると、予想どおり、このフィールドは現在の日付で初期化されているように見えます。

テスト クラスのメインに new A() を使用して新しいオブジェクトを作成すると、フィールドが null になります。

私の質問は、@Value がどのように機能するかです。ドキュメントでは、フィールドにデフォルト値を与えるとありましたが、それは Bean に対してのみ機能しますか? どのように処理されますか?

4

1 に答える 1

2

XML ファイルを使用して Bean を作成する場合、Spring は Bean を作成し、XML 構成を介して、または、などの注釈@Autowiredで装飾された構成済みフィールドの注入を適用します。@Value

を使用して Bean をnew YourClass作成する場合、クラスのインスタンスを手動で作成しているため、Spring によって処理されません。

必要に応じて、つまりnewキーワードを使用して作成された新しい Bean を Spring で処理する場合は、Spring データソース Bean をクラスに注入または自動配線する、ポイント 3、および を使用して下部にある説明を参照できます@Configurable

于 2013-11-02T14:01:16.363 に答える