11.2.4. 管理 Bean
11.2.4.1. マネージド Bean について
Java EE 6 より前は、JavaEE プラットフォームでの Bean という用語の明確な定義はありませんでした。Java EE 仕様では、EJB Bean や JSF マネージド Bean など、Bean と呼ばれる概念がいくつかありました。Spring や Seam などのサードパーティーのフレームワークは、
Bean
を定義するものについて独自のアイデアを導入しました。
Java EE 6 は、ManagedBeans 仕様で共通の定義を確立しました。管理対象 Bean は、プログラミングの制限が最小限であるコンテナー管理オブジェクトとして定義され、POJO (Plain Old Java Object) として知られるようになりました。管理対象 Bean はリソースのインジェクション、ライフサイクルコールバック、インターセプターなどの基本サービスの小さなセットをサポートします。EJBや CDI などのコンパニオン仕様は、この基本モデルに基づいて構築されます。
ごくわずかな例外を除き、パラメーターのないコンストラクター (または
@Inject
アノテーションが指定されたコンストラクター) を持つ具象 Java クラスは bean になります。これには、すべての Java Bean と EJB セッション bean が含まれます。上記のサービスを Bean で有効にするための唯一の要件は、それらが特別なマーカーファイル META-INF/beans.xml
を含むアーカイブ (JAR、または WAR や EJB JAR などの JavaEE モジュール) に存在することです。