🐶

JavaBeanを軽くまとめました。

2024/05/21に公開

JavaBeanとは?

Java Beanは再利用可能なソフトウェアコンポーネントを意味します。
Java Beansは特別な要求事項を満たすJavaオブジェクトであり、主にグラフィックユーザーインターフェース(GUI)で使用されたり、エンタープライズアプリケーションでデータモデルとして活用されています。
簡単に言うと、特定の情報(id, password, name, job...)などを持っているクラスを表現する一つの規則であり、データを表現するための目的を持っています。
この規則を持つクラスをJava Beanと言います。

JavaBeanの規約

  • クラスをpublicで指定。
  • 必ずクラスはパッケージ化されなければならない。
  • メンバー変数はproperty(プロパティ)と言う。
  • メンバー変数はprivateで指定し、外部アクセスのためのget、setメソッドを定義。
  • get、setメソッドはpublicで指定

JavaBean

JavaBeanはデータを表現することを目的するJavaクラスとして、下記のような形です。

public class JavaBean_Test {

    private String id;
    private String password;
    private String email;
    private String name;
    private String address;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

JavaBeanのproperty

propertyはJavaBeanに保存されている値を表し、プロパティはgetterとsetterメソッドを使用してアクセスおよび修正することができます。

GetterとGetterとSetterメソッドによるPropertyの名前決定

Getter

  • 属性値を返すメソッドで、get接頭辞の後に属性名を付けて定義します。
    例:getName()メソッドはnameプロパティのgetterです。
  • booleanタイプのプロパティの場合、isプレフィクスを使用することもあります。
    例:isEnabled()メソッドはenabledプロパティのgetterです。

Setter

  • 属性値を設定するメソッドで、set接頭辞の後に属性名を付けて定義します。
    例:setName(String name)メソッドはname属性のsetterです

JavaBeanの特性

  • 標準化された標準化されたアプローチ
    プロパティにアクセスして修正する方法を標準化し、コードを読み取り、メンテナンスしやすくします。
  • カプセル化
    プロパティをprivateに維持し、publicメソッドを通じてアクセスすることで、カプセル化の原則を遵守します。
  • ツールやフレームワークのサポート
    多くのJavaツールやフレームワーク(Spring、JSPなど)は、これらのルールに基づいてJava Beanを自動的に処理し、プロパティにアクセスできます。

JSPでJava Beanを使用

<jsp:useBean id="person" class="com.example.PersonBean" scope="session" />
<jsp:setProperty name="person" property="name" value="John Doe" />
<jsp:setProperty name="person" property="age" value="30" />
<jsp:setProperty name="person" property="enabled" value="true" />

<p>Name: <jsp:getProperty name="person" property="name" /></p>
<p>Age: <jsp:getProperty name="person" property="age" /></p>
<p>Enabled: <jsp:getProperty name="person" property="enabled" /></p>

JSPページの主な機能の一つはデータを表示する機能です。
JSPでは、このようなデータをJavaBeanクラスに入れて値を示すのが一般的なのでJavaBeanクラスを使用してデータを処理します。
規約で頻繁に使用されるJavaBeanオブジェクトのためのアクションタグを別途提供しており、このアクションタグを使用するとオブジェクトを生成したり、Beanのpropertyを出力したり、値を変更することが可能です。

<jsp:useBean id = "[name]" class="[JavaBeanクラスの名前]" scope="[範囲]"/>
  • id
    jspページでJavaBeanオブジェクトにアクセスするときに使用する名前を明示する。
  • class
    ペケージ名を含むJavaBeanクラスの完全な名前を明示する。
  • scope
    JavaBeanオブジェクトが保存される領域を指定する。
    page、request、session、applicationのいずれかを値として持つ。 デフォルト値はページ。

MVCパターンと<jsp:useBean>

  • MVCパターンを使用する際は、JSP(View) で<jsp:useBean>タグを使用することが多くありません。 代わりに、Controllerでデータを処理してJSPに伝達する方式を使用します。
    JSPのみを使用する場合は、<jsp:useBean>タグを使用してデータを処理し、表示することができます。

Discussion