プログラミング自己主導学習[Spring Framework] ビーン(Bean) 登録
ビーン(Bean)とは?
Springコンテナで管理されるオブジェクトを意味する。
(スプリングがIoC方式で管理するオブジェクトという意味。 または管理されるオブジェクトの意味である。)
Springアプリケーションでオブジェクトを直接生成·管理するのではなく、Springが代わりに
生成して注入(Dependecny Injection, DI)して管理する。
ビンはシングルトン(Singleton, 基本値)で管理され、一度だけ生成される。
※ スプリングを使用するアプリケーションで作成されるすべてのオブジェクトが空ではないという
事実を注意する。 スプリングが直接その生成と制御を担当するオブジェクトだけを「ビーン(Bean)」と呼ぶ。
ウィーン(Bean)の主な役割
ビーン(Bean)はアプリケーションの核心構成要素で、複数のオブジェクト間の依存性を管理し、
再利用可能で、メンテナンスが簡単なコードを作成できるようにサポートする。
それで、ビン(Bean)はどうやって登録するのだろうか?
ビーン(Bean)登録方法には自動ビーン登録方法と手動ビーン登録方法がある。
自動 ビーン(Bean) 登録 : @Component, @Service, @Repository, @Controller···
-
Springは@Component アナテーションを使用してクラスを自動的に空に登録。
-
基本的に自動登録を好み、開発生産性を高め、メンテナンスを楽にしてくれる。
-
ビジネスロジッククラス(Service、Repository、Controller など)は自動的に空登録するのが一般的である。
-
役割が明確で、アプリケーション内部でよく使用される場合。
-
外部APIを呼び出すサービスに使用
手動ウィーン登録:@Beanを利用した直接登録
-
@Configuration クラス内部で@Beanを使用して直接ウィーンを登録することができる。
-
自動登録が不可能だったり、明確な制御が必要な時に手動登録をしなければならない。
-
外部ライブラリクラス(Springが直接管理できない場合)
- Springで自動的に空白登録できない外部ライブラリのオブジェクトを空白で管理しなければならない場合、
@Componentが使用できないため、@Configurationを使用して手動で登録する必要がある。
Discussion