Project Lombok は、コンパイル時に一般的な Java コードを自動的に生成するアノテーションを提供することで、定型コードを削減し、プログラマーの時間とエネルギーを大幅に節約し、プログラマの生産性を向上させることを目的とした人気のある Java ライブラリです
Project Lombok は、ゲッター、セッター、コンストラクター、equals、hashCode、toString メソッドなどの反復的なコード構成を手動で記述する必要をなくすアノテーションを提供することで、Java の冗長性に対処します。フィールドまたはクラスに Lombok アノテーションを付けることで、コーダーはコンパイラーにこれらのメソッドを自動的に生成するように指示でき、定型コードの量が減り、Java クラスがよりコンパクトで読みやすくなります。
Java で Project Lombok を使用すると、生産性、コード品質、保守性の向上に貢献するいくつかの魅力的な利点が得られます。
プロジェクト ロンボクを選ぶ理由は次のとおりです。
「定型コード」を削減します。
また、コードの再利用性と可読性も向上します。
実装は非常に簡単で、複雑なことはありません。
「IDE」と簡単に統合できます。
私たちのプロジェクトのほとんどは Maven に基づいています。したがって、プロジェクト内に存在する「Pom.xml」ファイルに「Project Lombok」の依存関係を追加するだけです。
Maven リポジトリに移動し、そこから Lombok Maven リポジトリをコピーし、最新の Lombok 依存関係を「Pom.xml」に追加して保存し、プロジェクトを更新します。
Java では、これまでのところ、「Java Beans」パターンを使用してゲッターとセッターを追加するのが最も一般的な方法です。ほとんどの IDE は、これらのパターンのコードを自動的に生成します。
「データ オブジェクト」と「データ ファクトリ」を使用してゲッターとセッターを作成することで、このアプローチを理解するコードを見てみましょう:
Lombok なしのデータ オブジェクト
ゲッター メソッドとセッター メソッドを作成するための従来の 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;
ロンボク島をインポートします。*;
@ゲッター
@セッター
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@ToString(除外 = {"指定"})
@EqualsAndHashCode
@ビルダー
@データ
パブリック クラス プロフィール {
プライベート文字列名;
プライベート文字列姓;
プライベート文字列指定;
プライベート int age;
public static void main(String[] args) {
// ビルダーを使用してプロファイルのインスタンスを作成します
プロファイル プロファイル = Profile.builder()
.firstName("パート")
.lastName("カトロティヤ")
.designation("QA オートメーション エンジニア")
.age(23)
。建てる();
}
}
デロンボク
この投稿では私が最も有益だと感じた機能に焦点を当てていますが、Lombok には追加の機能やカスタマイズが数多く用意されています。
Lombok のドキュメントは、各注釈の詳細な説明と例を提供する貴重なリソースです。この投稿に興味を持たれた方は、ロンボク島のドキュメントをさらに深く調べて、さらに多くの可能性を明らかにすることをお勧めします。
さらに、プロジェクト サイトでは、さまざまなプログラミング環境間で Lombok を統合するための包括的なガイドが提供されています。 Eclipse、NetBeans、IntelliJ などを使用している場合でも、Lombok はワークフローとシームレスに統合されますのでご安心ください。頻繁に IDE を切り替える人間として、Lombok のあらゆるプラットフォームにおける多用途性と信頼性を証明できます。
全体として、Project Lombok は Java 開発を合理化し、コードの冗長性を減らし、ベスト プラクティスを推進する包括的な機能セットを提供します。
Project Lombok は、Java テストを合理化し、コードの冗長性を減らし、ベスト プラクティスを促進する包括的な機能セットを提供します。 Lombok ビルダーと Lombok コンストラクターを組み込むことで、テスターはコードをさらに簡素化し、保守性を向上させることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3