Java Bean とは
 
このチュートリアルでは、Java の Bean とは何かを紹介し、トピックを理解するためのサンプルコードもいくつかリストします。
Java Bean は、多くのオブジェクトを 1つのオブジェクト(Bean)にカプセル化するクラスです。以下の特性があります。
- シリアル化可能なインターフェイスをインポートします
- プライベートフィールド
- コンストラクター
- getter/- setter
クラスの直列化可能性は、java.io.Serializable インターフェースを実装するクラスによって有効になります。このインターフェイスを実装しないクラスでは、状態がシリアル化または逆シリアル化されません。
外部クラスがこれらのフィールドを簡単に変更できないように、フィールドはプライベートにする必要があります。これらのフィールドに直接アクセスする代わりに、通常、getter / setter メソッドが使用されます。
オブジェクトを作成するための引数コンストラクターが 0 個以上ある場合があります。
プライベートフィールドにアクセスして変更するための getter メソッドと setter メソッドがあります。
これは、Java における Java Bean の基本構造またはドラフトです。
// Implements Serializable interface
public class SimpleTesting implements Serializable {
  // private fields
  // no-args constructor
  // list of getters and setters
}
Java で Java Beans を作成する
ここでは、3つのプライベートフィールド、1つのデフォルトコンストラクター、1つのパラメーター化されたコンストラクター、およびデータを設定および取得するためのゲッターとセッターを備えた Java Bean クラス SimpleTesting を作成しました。以下の例を参照してください。
import java.io.Serializable;
public class SimpleTesting implements Serializable {
  private int id;
  private String name;
  private int salary;
  public SimpleTesting() {}
  public SimpleTesting(int id, String name, int salary) {
    this.id = id;
    this.name = name;
    this.salary = salary;
  }
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public int getSalary() {
    return salary;
  }
  public void setSalary(int salary) {
    this.salary = salary;
  }
}
Java で Java Beans を実装/アクセスする方法
Java Beans を実装するために、そのクラスのオブジェクトを作成できます。ここでは、コンストラクターに値を渡し、ゲッターを使用して値にアクセスします。以下の例を参照してください。
public class Main {
  public static void main(String[] args) {
    SimpleTesting st = new SimpleTesting(1, "Rohan", 100000);
    System.out.println("id = " + st.getId());
    System.out.println("name = " + st.getName());
    System.out.println("salary = " + st.getSalary());
  }
}
出力:
id = 1
name = Rohan
salary = 100000
Java での Java Beans のセッターとゲッター
ここでは、setter メソッドを使用して値を設定し、次に getter メソッドを使用して値を取得しています。これが Java Beans の強みです。以下の例を参照してください。
public class Main {
  public static void main(String[] args) {
    SimpleTesting st = new SimpleTesting();
    st.setId(1);
    st.setName("Rohan");
    st.setSalary(100000);
    System.out.println("id = " + st.getId());
    System.out.println("name = " + st.getName());
    System.out.println("salary = " + st.getSalary());
  }
}
出力:
id = 1
name = Rohan
salary = 100000
Java Bean の利点
Java Beans は、ランタイムの検出とアクセスのためのユニバーサルコントラクトとして Java EE 全体で使用されます。たとえば、Java Server Pages(JSP)は、ページ間またはサーブレットと JSP 間のデータ転送オブジェクトとして Java Beans を使用します。