Project Lombok は、一般的に使用されるメソッドとアノテーションを自動的に生成することで定型コードを削減するのに役立つ Java ライブラリです。これは、Java クラスの冗長性を簡素化して軽減するアノテーションを提供し、コードをより読みやすく、保守しやすくします。
定型コードを削減:
読みやすさの向上:
保守性:
一貫したコーディング スタイル:
Maven:
Lombok 依存関係を pom.xml ファイルに追加します:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency>
グラドル:
Lombok 依存関係を build.gradle ファイルに追加します:
dependencies { compileOnly 'org.projectlombok:lombok:1.18.22' annotationProcessor 'org.projectlombok:lombok:1.18.22' }
IntelliJ IDEA や Eclipse などのほとんどの IDE は Lombok をサポートしていますが、有効にするには Lombok プラグインをインストールする必要があります。
IntelliJ IDEA:
日食:
一般的に使用される Lombok アノテーションをいくつか示します:
@Getter および @ Setter:
クラスのフィールドのゲッター メソッドとセッター メソッドを生成します。
import lombok.Getter; import lombok.Setter; @Getter @Setter public class User { private Long id; private String name; private String email; }
@ToString:
クラスの toString() メソッドを生成します。
import lombok.ToString; @ToString public class User { private Long id; private String name; private String email; }
@EqualsAndHashCode:
クラスのequals()メソッドとhashCode()メソッドを生成します。
import lombok.EqualsAndHashCode; @EqualsAndHashCode public class User { private Long id; private String name; private String email; }
@NoArgsConstructor、@AllArgsConstructor、および @RequiredArgsConstructor:
クラスのコンストラクターを生成します。
import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; @NoArgsConstructor @AllArgsConstructor @RequiredArgsConstructor public class User { private Long id; private final String name; private final String email; }
@data:
@ToString、@EqualsAndHashCode、すべてのフィールドの @Getter、すべての非最終フィールドの @Setter、および @RequiredArgsConstructor の機能をバンドルする便利なショートカット。
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
Lombok を使用する前後のクラスの例を次に示します。
ロンボク島なし:
public class User { private Long id; private String name; private String email; public User() {} public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", email='" + email + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; return Objects.equals(id, user.id) && Objects.equals(name, user.name) && Objects.equals(email, user.email); } @Override public int hashCode() { return Objects.hash(id, name, email); } }
ロンボク島と:
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
Lombok をプロジェクトに統合すると、コードが大幅に簡素化され、定型的なコードを繰り返し記述するのではなく、ビジネス ロジックに集中できます。
以上がプロジェクトロンボクの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。