Javaコラム Javaエンジニアのためのお役立ちコラム

Javabeansとは?Javabeansのルールとサンプルプログラム

 
SE
Javabeansとはどのようなものなのでしょうか。
PM
再利用可能なプログラムを作るための仕様および、その仕様に従って作られたクラスのことです。

Javabeansとは?


Javabeansとは、再利用可能なプログラムを作るための仕様および、その仕様に従って作られたクラスのことです。簡単にいうとJavabeansは、データを入れておく箱のようなものです。入れ物のイメージからBean(=豆)という名前がつけられています。

例えば、あなたが本屋さんを経営している場合、新しい書籍を仕入れると、本のタイトル、著者、出版社、価格などの情報をコンピュータに入力することになるでしょう。入力データの種類を決めたり入力データを保存しておくのがJavabeansの役割です。

Javabeansのルールとは?

Javabeansにはルールが決められており、このルールに従って作成する必要があります。Javabeansのルールは次の通りです。

1.クラスはpublicを指定する
2.プロパティはprivateを指定する
3.引数なしのコンストラクタを定義する
4.プロパティへのgetterとsetterを定義する
5.java.io.Serializableを実装する
6.カプセル化する
7.クラス名の最後はBeanにする

Javabeansサンプルプログラム

以下はJavabeansのクラスのサンプルプログラムです。ここでは簡単に、本の「タイトル」と「価格」を書き込み/読み出しするクラス「BookBean」を作成します。

サンプルプログラムの解説

サンプルプログラムについて解説します。

(A)BookBeanクラスをpublicで指定します。クラス名の最後はBeanにします。
(B)保存しておくデータはプロパティとしてprivateで指定します。privateにすることで外部からアクセスできない仕組みになり、これをカプセル化と呼んでいます。
(C)引数なしのコンストラクタをpublicで指定します。
(D)(E)プロパティ tytle、priceへのsetter/getterを作成します。

Javabeansへのデータ設定方法

Javabeansはカプセル化されているので直接プロパティにデータを書き込んだり、読み出したりすることはできません。書き込んだり読み出したりする場合は、setter/getterを使用します。以下の手順となります。

1.インスタンスを生成する
2.setterを使ってデータを書き込む
3.getterを使ってデータを読み出す

javabeansを使ったサンプルプログラム

サンプルプログラムで作成した「BookBean」を実際に使ってみます。下記のプログラムでは、本の「タイトル」と「価格」を書き込んだ後、それを読み出して画面に表示しています。

サンプルプログラムの解説

サンプルプログラムについて解説します。

(A) BookBeanクラスをインスタンス化します。インスタンス化は実体化とも呼ばれ、パソコンのメモリ上にBookBeanクラスの領域を確保します。
(B)setterを使ってプロパティに本の「タイトル」と「価格」を書き込みます。
(C)getterを使って書き込んだ「タイトル」と「価格」を読み出し、画面に表示します。

サンプルプログラムを実行すると、以下のような表示が画面に出ます。

”タイトル「吾輩は猫である」、価格「980」円”

Javabeansの注意点

Javabeansには注意点があります。Javabeansはデータを一つしか保存できません。例えば、次のプログラムのように、2つのタイトルを続けて書き込んだとします。

この場合、本のタイトルとしては、「吾輩は猫である」は消えてしまい、「蜘蛛の糸」だけが保存され、以下のような表示が画面に出ます。

“タイトル「蜘蛛の糸」”

2つの情報を保持したい場合

2つの情報を保持したい場合は、次のようにインスタンスを2つ準備する必要があります。こうすることで領域が2つ確保されるので、両方のデータを保存できます。

このプログラムを実行すると、以下のような表示が画面に出ます。

“1. タイトル「吾輩は猫である」”
“2. タイトル「蜘蛛の糸」”

JSPからのJavabeans起動方法

Javabeansの使い方として、JSPからJavabeansを呼び出すこともできます。JSPとはJavaServerPageの略で、サーバ上で動作するJavaプログラムのことです。

JSPのプログラミングは、HTMLコードの中にJavaコードを記述していきます。JSPではJavabeansを呼び出すためのHTMLアクションタグが用意されていて、このアクションタグを使用することで、Javabeansで定義したクラスのプロパティを操作することができます。

Javabeansを呼び出すアクションタグ

JSPで用意されているJavabeansを呼び出すためのアクションタグは次のものがあります。

・<jsp:useBean>:Javabeansの使用を定義します
・<jsp:setProperty>:Javabeansのプロパティにデータを書き込みます
・<jsp:getProperty>:Javabeansのプロパティからデータを読み出します

以降にそれぞれのアクションタグについて説明します。

JSPでJavabeansクラスをインスタンス化する場合に使用します。インスタンス化は実体化とも呼ばれ、パソコンのメモリ上に記憶領域(=実体)を確保することです。構文は次の通りです。

<jsp:useBean id=”オブジェクト名” class=”クラス名” scope=”スコープの範囲” />

・id=”オブジェクト名” : インスタンス化するオブジェクト名を指定
・class=”クラス名” : Javabeansクラスの完全修飾名を指定
・scope=”スコープの範囲” : 使用可能な範囲を指定

Javabeansクラスのプロパティにデータを書き込む場合に使用します。構文は次の通りです。

<jsp:setProperty name=”オブジェクト名” property=”プロパティ名” [value=”プロパティ値”|param=”パラメータ名”] />

・name=”オブジェクト名” : 対象のオブジェクト名を指定
・property=”プロパティ名” : データを書き込むプロパティ名を指定
・value=”プロパティ値” : プロパティに書き込むデータを指定
・param=”パラメータ名” : リクエストパラメータからデータを取得して設定する場合にリクエストパラメータ名を指定

Javabeansクラスのプロパティからデータを読み出す場合に使用します。構文は次の通りです。

<jsp:getProperty name=”オブジェクト名” property=”プロパティ名” />

・name=”オブジェクト名” : 対象のオブジェクト名を指定
・property=”プロパティ名” :データを読み出すプロパティ名を指定

読み出したデータはWebページに文字列として表示されます。

その他のアクションタグ

JSPではJavabeansを呼び出す以外のアクションタグも用意されています。次のものがあります。

・<jsp:fallback>:Javaプラグイン起動不可時のコンテンツを指定します
・<jsp:forward>:他のHTMLページへフォワードします
・<jsp:include>:指定ページを実行します
・<jsp:param>:フォワードする際のパラメータを指定します
・<jsp:params>:Javaプラグインにパラメータを引き渡します
・<jsp:plugin>:Javaプラグインを実行するHTMLを生成します

SE
Javabeansについてよく理解できました。
PM
Javabeans作成のルールなどを理解し、実際にソースコードで指定してみましょう。

まとめ

今回はJavabeansについて説明しました。Javabeansにはいくつかのルールがありましたが、その中でも重要なのはデータを書き込み、読み出しするsetter/getterの定義です。カプセル化を実現する仕組みなので、理解しておいてください。


Javaでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

recommended

Categories

Tags