Project Lombok は、コンパイル時に一般的な Java コードを自動的に生成するアノテーションを提供することで、定型コードを削減し、プログラマーの時間とエネルギーを大幅に節約し、プログラマの生産性を向上させることを目的とした人気のある Java ライブラリです
Project Lombok は、ゲッター、セッター、コンストラクター、equals、hashCode、toString メソッドなどの反復的なコード構成を手動で記述する必要をなくすアノテーションを提供することで、Java の冗長性に対処しています。フィールドまたはクラスに Lombok アノテーションを付けることで、プログラマーはコンパイラーにこれらのメソッドを自動的に生成するように指示でき、定型コードの量が減り、Java クラスがよりコンパクトで読みやすくなります。
Java で Project Lombok を使用すると、生産性、コード品質、保守性の向上に貢献するいくつかの魅力的な利点が得られます。
Project Lombok を選択する理由は次のとおりです。
「定型コード」を削減します。
また、コードの再利用性と可読性も向上します。
実装は非常に簡単で、複雑さはありません。
「IDE」と簡単に統合できます。
私たちのプロジェクトのほとんどは Maven に基づいています。したがって、プロジェクト内に存在する「Pom.xml」ファイルに「Project Lombok」の依存関係を追加するだけです。
Maven リポジトリに移動し、そこから Lombok Maven リポジトリをコピーし、最新の Lombok 依存関係を「Pom.xml」に追加して保存し、プロジェクトを更新します。
Java では、これまでのところ、「Java Beans」パターンを使用してゲッターとセッターを追加するのが最も一般的な方法です。ほとんどの IDE は、これらのパターンのコードを自動的に生成します。
「データ オブジェクト」と「データ ファクトリ」を使用してゲッターとセッターを作成することで、このアプローチを理解するコードを見てみましょう。
Lombok なしのデータ オブジェクト
getter メソッドと setter メソッドを作成するための従来の JavaBeans アプローチは手動で作業を完了しますが、これにはいくつかの欠点と制限があり、特に最新の Java 開発環境ではあまり望ましくないものとなっていますが、その欠点のほとんどは Lombok でカバーされています。
したがって、これの代わりに、Lombok パターンを使用することを好みます。これを Java で実装する方法は次のとおりです:
Lombok を使用しないコンストラクターでは、各コンストラクターを手動で定義する必要がありますが、これは特に多くのフィールドを持つクラスの場合、面倒でエラーが発生しやすい可能性があります。さらに、さまざまなコンストラクター構成を処理する必要があるため、コードが複雑になる可能性があります。
Lombok は、@NoArgsConstructor、@AllArgsConstructor、および @RequiredArgsConstructor アノテーションを使用してこのプロセスを簡素化します。
Lombok を使用しないコンストラクター
Lombok アノテーションを使用すると、手動で記述する必要がある定型コードの量が減ります。 Lombok では、クラスとフィールドに注釈を付けるだけで、指定された条件に基づいてコンストラクターが自動的に生成されます。これにより、コードがよりクリーンで簡潔になります。
ToString アノテーション機能を使用しない
2. EqualAndHashCode の生成
EqualAndHashCode アノテーション機能を使用しない
3.データの注釈
@data アノテーションを使用しない場合、ゲッター、セッター、コンストラクターの機能をコードに手動で実装する必要があります。
データ注釈機能を使用しない
@data アノテーションは、@Getter、@setter、@NoArgsConstructor、@AllArgsConstructor、@RequiredArgsConstructor、@ToString、@EqualsAndHashCode およびその他多くのアノテーションをバンドルする便利なショートカットです。
@data を使用すると、Lombok はクラスで宣言されたフィールドに基づいてこれらのメソッドを自動的に生成します。これにより、記述および保守する必要がある定型コードの量が大幅に削減され、コードがより簡潔で読みやすくなります。
パッケージ org.example.dataobjects;
ロンボクをインポートします。*;
@ゲッター
@setter
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@ToString(exclude = {"指定"})
@EqualsAndHashCode
@ビルダー
@データ
パブリック クラス プロフィール {
プライベート文字列名;
プライベート文字列姓;
プライベート文字列指定;
プライベート int 年齢;
public static void main(String[] args) {
// ビルダーを使用してプロファイルのインスタンスを作成します
プロファイル プロファイル = Profile.builder()
.firstName("パート")
.lastName("カスロティヤ")
.designation("QA オートメーション エンジニア")
.age(23)
.build();
}
}
デロンボク
この投稿では私が最も有益だと感じた機能に焦点を当てていますが、Lombok には追加の機能やカスタマイズが数多く用意されています。
Lombok のドキュメントは、各注釈の詳細な説明と例を提供する貴重なリソースです。この投稿に興味を持たれた方は、ロンボク島のドキュメントをさらに詳しく調べて、さらに多くの可能性を明らかにすることをお勧めします。
さらに、プロジェクト サイトでは、さまざまなプログラミング環境間で Lombok を統合するための包括的なガイドが提供されています。 Eclipse、NetBeans、IntelliJ などを使用している場合でも、Lombok はワークフローとシームレスに統合されますのでご安心ください。 IDE を頻繁に切り替える私としては、Lombok のあらゆるプラットフォームにおける多用途性と信頼性を証明できます。
全体として、Project Lombok は、Java 開発を合理化し、コードの冗長性を減らし、ベスト プラクティスを促進する包括的な機能セットを提供します。
Project Lombok は、Java テストを合理化し、コードの冗長性を減らし、ベスト プラクティスを促進する包括的な機能セットを提供します。 Lombok ビルダーと Lombok コンストラクターを組み込むことで、テスターはコードをさらに簡素化し、保守性を向上させることができます。
以上がLombok Unleashed: ゲッター、セッター、コンストラクター、ビルダーなどを使用して Java 効率を向上の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。