Javaエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnetJava
  2. Javaコラム
  3. Java TIPS
  4. Javabeansとは?Javabeansのルールとサンプルプログラム

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

  • Java TIPS
公開日時:   更新日時:
Javabeansとは?Javabeansのルールとサンプルプログラム
この記事でわかること
    システム
    エンジニア
    Javabeansとはどのようなものなのでしょうか。
    プロジェクト
    マネージャー
    再利用可能なプログラムを作るための仕様および、その仕様に従って作られたクラスのことです。

    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を生成します

    システム
    エンジニア
    Javabeansについてよく理解できました。
    プロジェクト
    マネージャー
    Javabeans作成のルールなどを理解し、実際にソースコードで指定してみましょう。

    まとめ

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

    FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    Java新着案件New Job