Springframeworkを学習中なので、学習内容をまとめていこうかと思います。
細かいところは省略しています。
Beanのライフサイクル
DIコンテナで管理されるBeanのライフサイクルは以下の通り
- 初期化フェーズ
- 利用フェーズ
- 終了フェーズ
上記3フェーズの前後で何が行われているかを把握し、活用できるようにする。
初期化フェーズ
初期化フェーズには3つの工程がある。
- Bean読み込み
- Construct & DI
- Post Construct
Bean読み込み
- Java Configなど、Bean定義を収集
- Bean Factory Post Processorによる定義情報の書き換え
Construct & Dependency Injection
- Beanのインスタンス化
- インジェクション
- コンストラクタ
- セッター
- フィールド
Post Construct
Post Constructは3つの処理に分かれる。
1. 前処理
2. 初期化処理
3. 後処理
前処理、後処理はBean Post Processorによって行われる。
Bean Post Processorは org.springframework.bean.factory.config.BeanPostProcessor
を実装したクラス。
終了フェーズ
終了フェーズではPreDestroyが呼び出される。
以上です。お疲れ様でしたー。