JavaBeansとはJava言語で開発する際に必要不可欠なデータの管理に関する技術です。JavaBeansやカプセル化等の基本的な概念からJSPを用いた実装方法等、JavaBeansの基本的な機能についてまとめました。ぜひ読んでみてください。
JavaBeansとは?
JavaBeansとは、Java言語で作成された再利用が可能なクラスを作成するための仕様、またその仕様にのっとって開発されたプログラムのことを指します。
特定の仕様にのっとって機能を1つのクラスにカプセル化することで、いろいろなアプリケーションで再利用可能な汎用的なプログラム、JavaBeansを作成できます。
カプセル化ってなに?
カプセル化とはオブジェクトの構造をカプセルの中に密閉し、簡単に再利用できるようにすることを指します。
例えば複雑なデータを保持したオブジェクトのクラスを直接操作する場合、開発者は全てのデータを把握し操作する必要がありますが、カプセル化されたクラスを操作する場合は最低限の機能や使い方を覚えるだけで使用できるようになります。
JavaBeansのクラスを作成しよう
それでは実際にJavaBeansのクラスの作成方法と使い方ついて整理していきます。今回はJSPという技術を使ってJavaBeansを作成していきます。JavaBeansを作成する際は以下のルールにのっとって作成しましょう。
1. JavaBeansクラス名の末尾に”Beans”をつける。
2. 各種データはprivate変数で定義し、他クラスから直接操作ができないようにする。
3. 操作したいデータ用にアクセスメソッド(Setter、Getter)用意する。
JSPでJavaBeansを使ってみよう
続いて実際にJSPでJavaBeansの使い方について見ていきましょう。JSPとはJavaSeverPageの略で、サーバーサイドでJavaを実行し、Webページに情報を送信する技術のことです。
JSPにはアクションと呼ばれる独自のタグがいくつもあり、それらを使用することでオブジェクトを生成したりリソースを操作できます。それでは主なアクションの意味や、アクションの使い方を見ていきましょう。
jsp:useBeanでJavaBeansクラスを生成する
JavaBeansを使用する場合、まず必ず<jsp:useBean/>
を行います。<jsp:useBean/>
は、JavaBeansをインスタンス化し、JSPから使用可能にするためのアクションです。
jsp:useBeanの使い方
<jsp:useBean/>
の実際の使い方は以下のとおりです。以下の例ではsample.com.id
というクラスのインスタンスをid_sample
という名前で生成しています。
<jsp:useBean id="id_sample" class="sample.com.id" scope="session" />
jsp:setPropertyでデータを設定しよう
次に<jsp:setProperty/>
の使い方を見てみましょう。<jsp:setProperty/>
は、<jsp:useBean/>で生成されたインスタンスに値を設定する際に使えます。
jsp:setPropertyの使い方
以下のサンプルではid_sample
というインスタンスに対して、name
というプロパティの値をnew_name
と設定できます。
<jsp:setProperty name="id_sample" property="name" value="new_name" />
jsp:getPropertyでデータを取得しよう
続いて<jsp:getProperty/>
の使い方を見てみましょう。<jsp:getProperty/>
は、<jsp:useBean/>で生成されたインスタンスから値を取得する際に使えます。
jsp:getPropertyの使い方
以下のサンプルではid_sample
というインスタンスから、name
というプロパティの値を取得できます。
<jsp:getProperty name="id_sample" property="name"/>
データの保存方法、シリアライズ設定について
続いて効果的なデータの使い方について見ていきます。生成したデータは保存しなければページを読み込む度に削除されてしまいます。そのためしっかりとシリアライズを行いデータをファイルに保存しましょう。
シリアライズとは直列化という意味で、基本的にオブジェクトのデータをファイルに保存することを指します。また、全てのJavaBeansのクラスは仕様でシリアライズ可能であることを義務付けられています。
シリアライズ可能なデータを保存、復元しよう
オブジェクトを保存、復元する場合、まずオブジェクトがシリアライズ可能という設定がされている必要があります。シリアライズの設定は、JavaBeansクラスの上部にimplements Serializable
と記述することで可能です。
シリアライズ可能なデータの保存、復元方法
オブジェクトのデータを保存する場合、ObjectOutputStream
クラスのwriteObject
という関数を使います。また、オブジェクトのデータを読み込む場合、同じくObjectOutputStream
クラスのreadObject
という関数を使います。ObjectOutputStream
の詳しい使い方は以下のOracleの公式ページを参照してください。
データをシリアライズする場合の注意点
データを保存する際の注意点として、インスタンス化したJavaBeansは1インスタンスにつき1データのみ保存が可能です。そのため同じインスタンスをいくつもの分割したデータとして保存できません。
個別にデータを保存したい場合は、別途インスタンスを生成し、保存するようにしましょう。
早速JavaBeansを使ってみよう
JavaBeansを用いることで機能のカプセル化や、効率的なデータの操作が可能です。JavaBeansの作り方、使い方は非常にシンプルです。また、JSPを使うことで簡単にWebページに組み込めるため、ぜひ一度お試しください。