読み方 : ビーン

Bean

概要

Beanとは、Javaプログラムの一種で、「JavaBeans」や「Enterprise JavaBeans」(EJB)の仕様に従って開発された、部品化されたJavaクラスのこと。外部プログラムから利用しやすい共通の仕様に則って設計されており、コードの共有や再利用、機能ごとの分離、汎用的なプログラム部品としての流通などに利用される。
Beanのイメージ画像

Beanには、主にクライアント側や汎用部品として用いられる「JavaBeans」と、サーバ側で動作する大規模な業務システム向けの「Enterprise JavaBeans」(EJB)の2種類が存在する。両者とも特定の規約に従い、部品としての互換性や統一的な扱いを実現する点が共通する。

JavaBeans仕様では、引数を取らないpublicなコンストラクタを持つこと、プロパティへのアクセス手段としてgetterメソッドsetterメソッド命名規則に則って実装されていること、シリアライズが可能であることなどの規約が定められている。これらの規約により、開発ツールやフレームワークがBeanを自動的に認識し、統一的な方法で扱えるようになる。

EJBは、サーバ側で動作するJavaプログラム、いわゆるサーバサイドJavaをBean化する仕様である。役割に応じてさらに分類され、利用者との接続セッションごとに一時的な処理や業務ロジックを実行する「Session Bean」(セッションBean)、データベースなどの永続的なデータ管理や参照を行う「Entity Bean」(エンティティBean)が定義され、それぞれ異なる技術仕様を満たすことが求められる。

EJBの仕様は時代と共に変化しており、現在主流のJava EEおよびその後継であるJakarta EEでは、Entity Beanに代わってJPAJava Persistence API)を用いたエンティティクラスが永続化処理を担う。Session Beanについても、状態を持たないStateless型と状態を保持するStateful型に加え、メッセージ駆動型のコンポーネントが定義され、アノテーションを用いた軽量な実装によって開発者の負担を減らす方向に改良されている。

近年では、従来のEJB仕様が複雑化し過ぎた反省から、基本的なJava仕様のみを用いる「POJO」(Plain Old Java Object)を基にした設計が主流となっている。「Spring Framework」などの開発環境では、フレームワークが管理するオブジェクトの単位を「Bean」と呼ぶことが多く、JavaBeansの基本思想を継承したものとして、コンポーネント一般を指す用語としても定着している。

(2026.6.29更新)
 

他の辞典等による「Bean」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。