【Java】初心者のためのJavaBeansクラス解説
  • facebookページ
  • twitterページ
  • 2019.09.21

    【Java】初心者のためのJavaBeansクラス解説

    Web開発をするならJavaBeansクラスはいち早く慣れておかなければならないクラスです。

    今回の記事では、JavaBeansについて初心者にもわかりやすく解説していきます。

    JavaBeans

    JavaBeansとは

    JavaBeansを一言で表すと「Javaコードで書かれた再利用可能なコンポーネントまたは仕様」となります。もう少し噛み砕いて説明すると、データを格納する倉庫の役割を持つクラスこのことで、全ての開発者が一定のルールを厳守したクラスを指します。

    一定のルールとは以下を指します。

    JavaBeansの仕様
    • java.io.Serializableインターフェースを実装する
    • クラス指定はpublicのみに固定
    • コンストラクタを指定する(publicで固定し引数はつけない)
    • プロパティ(クラスのメンバ変数)はprivateで指定する
    • setter/getterメソッドを作る
    • カプセル化(隠蔽化)する
    • クラス名の最後にはBeanと付ける(例:SampleBean など)

    JavaBeansの仕様を踏まえたクラス

    簡単な解説が完了したところで、実際にコードを見ながら説明していきます。

    以下はシリアライズに関する項目です。1セットで覚えてください。

    シリアライズに関する3つの項目

    java.io.Serializableインターフェースを実装することが前提なので、”java.io.Serializable”をインポートしています。

    更に、シリアライズを行う場合はその対象となるクラスにjava.io.Serializableインターフェースを”implements”しなければなりません。

    またシリアライズを実装した場合には”serialVersionUID”という定数を定義する必要もあります。

    JavaBeansの仕様に沿ってクラスを定義すると上のコードのようになります。

    またsetter/getterメソッドには命名規則があります。具体的には以下の通りとなります。

    setter/getterの命名規則

    setterを記述する場合には「set + プロパティ(プロパティの先頭文字は大文字にする)」

    getterを記述する場合には「get + プロパティ(プロパティの先頭文字は大文字にする)」

    JavaBeansクラスでデータを扱ってみる

    次のコードを見てください。

    実行結果

    このコードでは、mainクラス内に「SampleBean sampleBean = new SampleBean();」でインスタンスを作成し、setterメソッドでJavaBeansクラスにデータを渡しています。

    そして最後にgetterメソッドを使いJavaBeansクラスに格納されているデータを取得し表示させるという流れになっています。

    なお今回はシリアライズの記事ではないことから説明は省略していますが、JavaBeansクラスに Serializable を implements していますので、java.io.Serializableをimportする必要があるため、先頭で宣言しています。

    Serializableについて

    先にも述べましたが、JavaBeansクラスはその要件としてプロパティに格納した情報を保存できる必要があるため、Serializableインターフェイスの実装クラスとする必要があります。
    (絶対的に必要なわけではありませんが、必要な場合が非常に多いため実装クラスで慣れておいた方が良いでしょう)

    データの保存と復元

    データの保存と復元については以下の通りです。

    保存

    Serializableインターフェイスを実装したオブジェクトは、ObjectOutputStreamクラスのwriteObjectメソッドを使用することでデータを保存できます。

    writeObjectメソッドの引数にはSerializableインタフェースを実装したJavaBeansクラスのオブジェクトを指定します。

    復元

    保存したファイルからデータを復元するにはObjectInputStreamクラスのreadObjectメソッドを使用します。

    コードを見てみる

    それでは実際にコードを見てみましょう。

    実行結果

    このコードではまず、メインクラスで”binary.bin”という空のバイナリファイルを作成しています。

    次にsetterメソッドでデータを登録し、オブジェクトのデータをバイナリに書き込んだ後もう一つ新たにインスタンスを生成しています。

    更に、新たに作成したインスタンスにバイナリに保存してあるデータを読み込みをれを表示させるといった流れとなります。

    実行結果からもわかるように、Serializableインタフェースを実装すればいつでもインスタンスに復元することが可能です。

    まとめ

    今回はJavaBeansクラスについて解説してきました。

    JavaBeansクラスはJSPやサーブレットでもアクティブタグで利用することが出来る大変便利なコンポーネントです。

    何度も見直しながら学習し、いち早くマスターしてください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件