2023年8月29日 Javaの便利ライブラリ「lombok」 Java 検索する Popular tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL Category 技術開発 Author ジン SHARE Content はじめに Lombokとは Lombokの使い方 Lombokの良い点 インストール方法 最後に はじめに Lombokの存在はすでに世間一般に浸透しています。 しかし、レガシーなシステムの保守開発をしている現場だと導入されていない場合があります。 例えば、私が経験した現場ではLombokを使用していないソースが多くありました。 そのため、自前でgetter/setterを記述しているため冗長なソースコードが大量生産されていました。 そこで、実務未経験の方や若手エンジニアの方のためにLombokのことを紹介したいと思います。 世界から自前のgetter/setterを撲滅しましょう。 Lombokとは Javaの便利ライブラリで、ロンボック、ロンボクと読みます。 アノテーションを付与するだけでgetter、setter、toStringメソッド等をコンパイル時に自動生成してくれます。 つまりボイラープレートコードを排除することができます。 ボイラープレートコードとは、言語仕様上省くことができない定型的なコードのことである。 ボイラープレートコードは本質的なロジックでないため、アプリケーションを実装する上で冗長なコードとなる。 Lombokの使い方 JavaにはDTO、Bean、POJO、Model、Form等と呼ばれる、下記のようなprivateフィールドとgetter/setterのみを記述するクラスがあります。 public class HogeDTO { private String hoge; private int fuga; public String getHoge() { return hoge; } public void setHoge(String hoge) { this.hoge = hoge; } public int getFuga() { return fuga; } public void setFuga(int fuga) { this.fuga = fuga; } } フィールド毎にgetter/setterを書かなければなりません。そのため単純だけどコード量が多くなってしまいがちなクラス。 Lombokを利用すると、getter/setterを書く必要がありません。 クラス宣言の前にLombokの@Dataアノテーションをつけるだけで全フィールドのgetter/setterが自動生成されます。 @Data public class HogeDTO { private String hoge; private int fuga; } 一部のフィールドのみにgetter/setterを作りたい場合は@Getter/@Setterアノテーションを対象のフィールドにつければOKです。 public class HogeDTO { @Getter @Setter private String hoge; private int fuga; } このようにLombokを利用するとgetter/setterを書かなくて済むので、コード量が激減します。 Lombokの良い点 Lombokを使用するメリットをまとめました。使わない理由がないですね。 DTOの作成が簡単になる。 コード量が減る。 フィールド名や型の修正に伴うgetter/setter修正の手間がかからない。 フィールド追加に伴うgetter/setter追加の手間がかからない。 参照する側の変更は必要なく、そのままgetter/setterを利用できる。 インストール方法 LombokをIDEで使用するためにはインストールが必要です。 そこで今回はEclipseでのインストール手順を紹介します。 Eclipse以外を使ってる人はググってください。申し訳ございません。 公式ページからLombok.jarをダウンロードする。 ダウンロードしたjarファイルをダブルクリックしてインストーラを開く。 Specify locationをクリックし、eclipse.exe が存在するフォルダを選択する。 Install / Updateをクリックする。 Eclipseのスクショがコチラです。 ソース上ではgetter/setterが記述されていませんが、コンパイル時にgetter/setterが自動生成されているため、アウトラインにはgetter/setterが表示されています。 最後に レガシーなJavaの開発現場でのgetter/setter省略方法の紹介でした。 Lombokには他にも様々な便利機能がありますが、今回は特に活用機会が多いgetter/setterを取り上げました。 機会があればLombokの他の機能もいずれ紹介したいと思います。 この記事をご覧いただいた方々も是非Lombokを有効活用してください。 最後までお読みいただきありがとうございました。 頂きましたご意見につきましては、今後のより良い商品開発・サービス改善に活かしていきたいと考えております。 よくわかった よくわからなかった 使います Author ジン エンジニア歴10年です。 Javaがメインで主にWeb系の開発現場に携わっています。 Java 2023年8月29日 Javaの便利ライブラリ「lombok」 Category 技術開発 前の記事を読む 【Google Cloud】TerraformでBigQueryデータセットにタグを紐付ける 次の記事を読む 【合格体験記】応用情報技術者試験の勉強方法をお話します Recommendation オススメ記事 2023年9月5日 Google Cloud 【Google Cloud】Looker Studio × Looker Studio Pro × Looker を徹底比較!機能・選び方を解説 2023年8月24日 Google Cloud 【Google Cloud】Migrate for Anthos and GKEでVMを移行してみた(1:概要編) 2022年10月10日 Google Cloud 【Google Cloud】AlloyDB と Cloud SQL を徹底比較してみた!!(第1回:AlloyDB の概要、性能検証編) BigQuery ML ワークショップ開催のお知らせ 生成AI導入支援パッケージ Discovery AI導入支援パッケージ Google Cloud ホワイトペーパー 新着記事 2024年10月9日 イベント・セミナー 【参加無料】typeエンジニア転職フェア 出展のお知らせ(2024/10/12) 2024年10月4日 イベント・セミナー 【11/20開催】データ分析&活用ウェビナー(事例紹介付き) 2024年9月30日 Google Cloud 【Google Cloud】サーバレスでマネージドなサービス「Cloud Run」でアプリケーションを走らせよう! HOME 技術開発 Javaの便利ライブラリ「lombok」