🐶
JavaBeanを軽くまとめました。
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のいずれかを値として持つ。 デフォルト値はページ。
jsp:useBean>
MVCパターンと<- MVCパターンを使用する際は、JSP(View) で<jsp:useBean>タグを使用することが多くありません。 代わりに、Controllerでデータを処理してJSPに伝達する方式を使用します。
JSPのみを使用する場合は、<jsp:useBean>タグを使用してデータを処理し、表示することができます。
Discussion