Project Lombok ialah perpustakaan Java yang membantu mengurangkan kod boilerplate dengan menjana kaedah dan anotasi yang biasa digunakan secara automatik. Ia menyediakan anotasi yang boleh memudahkan dan mengurangkan verbositi kelas Java anda, menjadikan kod anda lebih mudah dibaca dan diselenggara.
Kurangkan Kod Boilerplate:
Tingkatkan Kebolehbacaan:
Kebolehselenggaraan:
Gaya Pengekodan Konsisten:
Maven:
Tambahkan kebergantungan Lombok pada fail pom.xml anda:
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency>
Gradle:
Tambahkan kebergantungan Lombok pada fail build.gradle anda:
dependencies { compileOnly 'org.projectlombok:lombok:1.18.22' annotationProcessor 'org.projectlombok:lombok:1.18.22' }
Kebanyakan IDE seperti IntelliJ IDEA dan Eclipse menyokong Lombok, tetapi anda perlu memasang pemalam Lombok untuk mendayakannya.
IDEA IntelliJ:
Gerhana:
Berikut ialah beberapa anotasi Lombok yang biasa digunakan:
@Getter dan @ Setter:
Menjana kaedah getter dan setter untuk medan kelas anda.
import lombok.Getter; import lombok.Setter; @Getter @Setter public class User { private Long id; private String name; private String email; }
@ToString:
Menjana kaedah toString() untuk kelas anda.
import lombok.ToString; @ToString public class User { private Long id; private String name; private String email; }
@EqualsAndHashCode:
Menjana kaedah equals() dan hashCode() untuk kelas anda.
import lombok.EqualsAndHashCode; @EqualsAndHashCode public class User { private Long id; private String name; private String email; }
@NoArgsConstructor, @AllArgsConstructor dan @RequiredArgsConstructor:
Menjana pembina untuk kelas anda.
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:
Pintasan mudah yang menggabungkan ciri @ToString, @EqualsAndHashCode, @Getter pada semua medan dan @Setter pada semua medan bukan akhir dan @RequiredArgsConstructor.
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
Berikut ialah contoh kelas sebelum dan selepas menggunakan Lombok:
Tanpa 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); } }
Dengan Lombok:
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
Dengan menyepadukan Lombok ke dalam projek anda, anda boleh memudahkan kod anda dengan ketara dan lebih fokus pada logik perniagaan daripada menulis kod boilerplate berulang.
Atas ialah kandungan terperinci Cara menggunakan projek Lombok. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!