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 を使用します。