マネージド Bean では、@PostConstruct
通常の Java オブジェクト コンストラクターの後に呼び出されます。
@PostConstruct
通常のコンストラクター自体ではなく、Bean による初期化を使用するのはなぜですか?
ベストアンサー1
コンストラクタが呼び出されたときには、Bean はまだ初期化されていないため、依存関係は注入されません。メソッドでは、
@PostConstruct
Bean は完全に初期化され、依存関係を使用できます。これは、このメソッドが Bean のライフサイクルで 1 回だけ呼び出されることを保証する契約であるためです。Bean がコンテナの内部動作で複数回インスタンス化される可能性はありますが (可能性は低いですが)、
@PostConstruct
呼び出されるのは 1 回だけであることが保証されます。