メインコンテンツへスキップ
  1. 記事一覧/

Lombokライブラリについての個人的メモ

·84 文字·1 分
Java Lombok Programing
Bigbell
著者
Bigbell
某メガベンチャーで働いているエンジニアの卵です。
目次

Lombokとは?
#

Lombokはコードの自動生成によってJavaの開発を支援するライブラリ。
例えばフィールドにアノテーションを指定すると対応するgetterやsetterをコンパイル時に自動生成してくれる。

Lombokのアノテーション
#

  • @Data
    • @ToString, @EqualsAndHashCode, @Getter, @Setter, @RequiredArgsConstructor をまとめたもの
  • @ToString
    • 自動で.toString()を定義してくれる
  • @EqualsAndHashCode
    • equalsメソッドとhashCodeメソッドを自動で定義してくれる
  • @Getter
    • フィールドへのGetterを自動で定義してくれる
  • @Setter
    • フィールドへのSetterを自動で定義してくれる
  • @RequiredArgsConstructor
    • 引数が必要なコンストラクタを自動で定義してくれる
  • @NoArgsConstructor
    • 引数が必要ないコンストラクタを自動で定義してくれる
  • @AllArgsConstructo
    • 全ての引数が必要なコンストラクタを自動で定義してくれる
  • @Builder
    • クラスのビルダーメソッドを自動で追加してくれる
  • @Value
    • クラスのイミュータブル(書き換え不能)にできる
  • @SneakyThrows
    • チェック例外に関して、場合によっては発生しないことが確定しているにも関わらず対処しなければならないような場面がある
    • このような場面で例外の発生を覆い隠すことができる(実際には実行時例外にラップする)
  • @Synchronized
    • 自動生成されたロックオブジェクトでsynchronizedブロックが生成された状態になる
  • @With
    • withメソッドを自動で生成してくれる
    • Immutableなクラスでは、クラス内のメンバの値を変更したい場合にwithXXXXというメソッドを定義することがよくあるらしい
    • withメソッドは元のインスタンスの内容は変更せず、指定の値を持つ新しいインスタンスを返す
  • @Getter(lazy=true)
    • 遅延初期化できるようになる
    • 参考
  • @Log
    • log という名前でロガーを使用することができるようになる

Lombokの導入(IntelliJ IDEA)
#

公式ページ に書いてあるようにpomファイルに以下の設定を追記

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.28</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
  • メニューの「IntelliJ IDEA」 > 「Preferences」 > 「Build, Execution, Deployment」 > 「コンパイラー」> 「Annotation Processors」までたどっていき、「Enable annotation processing」にチェックを入れる
  • メニューの「IntelliJ IDEA」 > 「Preferences」 > 「Pulugin」から「Lombok」のプラグインを入れる

参考
#

Related

Jerseyフレームワークの個人的メモ
·70 文字·1 分
Java Jersey WebFramework Programing
この記事ではネットで調べたJerseyフレームワークに関する知見をまとめています。
Let's Encrypt + Cloudflare(プロキシ有効)な環境で「リダイレクトが繰り返し行われました」のエラーが出る時の対処法
·36 文字·1 分
Network サーバー Cloudflare Let's Encrypt Cloud
Cloudflareの導入によって発生した「リダイレクトが繰り返し行われました」への対処法
ポート開放ができない環境でサーバを外部公開するための個人的ベストプラクティス
·329 文字·2 分
Network サーバー Cloudflare ngrok OS
今回は、ポート開放ができない環境でサーバを外部公開する方法を紹介したいと思います。