忍者ブログ

ITに関するお話

javaの便利ライブラリ「lombok」

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

1. 無題

eclipseでも使えたのか、知らんかった
超べんりなのにあまり使っているとこは見ない気がする・・・
もったいない

2. 無題

これは便利ですね~。
getter/setterを書く時間はただの苦痛ですからね。

getter/setterの在り方も見直したほうが良いと勝手に思ってます…。

3. 無題

getter、setter を作ってデータにアクセスしているのに、結局、取得先で値を編集していたりして、本当の隠匿化ができていない場合が多いように思います。
技術者の理解不足や、チーム間を跨る共有のオブジェクトに改修を加えるやる気不足が原因だと思うのですが、どうせ統一できないのであれば面倒なので public アクセスしちゃいたいですね笑

ただいまコメントを受けつけておりません。

javaの便利ライブラリ「lombok」

皆様こんにちは。

今回はlombokというjavaの便利ライブラリの紹介をします。


javaにはDTO、Bean、POJO、Model、Form等と呼ばれる、
privateフィールドとgetter/setterのみを記述するクラスがありますね。
↓下記のようなクラス。

public class HogeDTO {
    private String hoge;

    public String getHoge() {
        return hoge;
    }

    public void setHoge(String hoge) {
        this.hoge = hoge;
    }
}

フィールド毎にgetter/setterを書かなければならないため、
単純だけどコード量が多くなってしまいがちなクラス。



lombokを利用すると、getter/setterを書く必要がありません。
クラス宣言の前にlombokの@Dataアノテーションをつけるだけでgetter/setterが自動生成されます。

@Data
public class HogeDTO {
    private String hoge;
}

これだけで済みます。


下記のスクリーンショットをご覧ください。


ソース上ではgetter/setterが記述されていませんが、アウトラインにはgetter/setterが表示されています。
コンパイル時にgetter/setterが自動生成されているのです。



lombokを利用すると
getter/setterを書かなくて済むので、コード量が激減します。
素晴らしい。
スッキリした。



ということで、lombokの良い点をまとめました。

・DTOの作成が簡単になる。
・コード量が減る。
・フィールド名や型の修正に伴うgetter/setter修正の手間がかからない。
・フィールド追加に伴うgetter/setter追加の手間がかからない。
・単体テストにおいてgetter/setter用のテストコードを書く必要がない。



機会があれば皆様もlombokを利用してみてください。



で、lombokをIDEで使用するためにはインストールが必要です。
Eclipseでのインストール手順を紹介します。
Eclipse以外を使ってる人はググってください。ごめんなさい。




①公式ページからlombok.jarをダウンロードする。
こちら

②ダウンロードしたjarファイルをダブルクリックしてインストーラを開く。

③Specify locationをクリックし、eclipse.exe が存在するフォルダを選択する。


④Install / Updateをクリックしておわり。



以上です。
PR

コメント

1. 無題

eclipseでも使えたのか、知らんかった
超べんりなのにあまり使っているとこは見ない気がする・・・
もったいない

2. 無題

これは便利ですね~。
getter/setterを書く時間はただの苦痛ですからね。

getter/setterの在り方も見直したほうが良いと勝手に思ってます…。

3. 無題

getter、setter を作ってデータにアクセスしているのに、結局、取得先で値を編集していたりして、本当の隠匿化ができていない場合が多いように思います。
技術者の理解不足や、チーム間を跨る共有のオブジェクトに改修を加えるやる気不足が原因だと思うのですが、どうせ統一できないのであれば面倒なので public アクセスしちゃいたいですね笑

プロフィール

HN:
No Name Ninja
性別:
非公開

カテゴリー

P R