🫘

Bean

2024/12/14に公開

Bean登録する

  • オブジェクトをSpring IoCコンテナに登録し、管理できるようにすること。
    • 【1】アノテーションを使ってBean登録
      • @Component,@Service,@Repository,@Controllerなどを付与
      • @ConfigurationPropertiesでプロパティをバインドし、@Component@Configurationを付与
    • 【2】@Configuration@Beanを使用してBean登録
      • クラスに対して@Configuration、メソッドに対して@Beanを付与する
  • ※Spring Iocコンテナ:Inversion of Control。アプリのオブジェクトのBeanライフサイクルを管理。

Bean登録したいクラスが抽象クラスのとき

  • 抽象クラスのBean登録は不可。
  • 抽象クラスを継承して作成したサブクラスをSpringコンテナにBean登録。

Beanライフサイクル

  • インスタンス化:Spring IoCコンテナがBeanのインスタンスを生成
  • 依存関係注入:必要な依存オブジェクトを注入して、Beanの依存関係を解決
  • 初期化:Beanの初期化メソッドの呼び出し。
    • @PostConstructやInitializingBeanインターフェースのafterPropertiesSetメソッドで初期化メソッドが定義可能(?)
  • 使用
  • 破棄:アプリのシャットダウン時、Beanの破棄メソッドの呼び出し
    • @PreDestroyやDisposanleBeanインターフェースのdestroyメソッドで破棄メソッドが定義可能(?)

Discussion