Lombok
Daraja: O'rta
Lombok — annotatsiyalar orqali getter, setter, konstruktor, toString, equals/hashCode kodini kompilyatsiya paytida avtomatik yozib beradigan kutubxona. Model (POJO) klasslarni bir necha barobar qisqartiradi. IDE'da Lombok plagini yoqilgan bo'lishi kerak, aks holda IDE metodlarni ko'rmaydi.
Tushuntirish
Lombok — annotatsiyalar orqali getter, setter, konstruktor, toString, equals/hashCode kodini kompilyatsiya paytida avtomatik yozib beradigan kutubxona. Model (POJO) klasslarni bir necha barobar qisqartiradi. IDE'da Lombok plagini yoqilgan bo'lishi kerak, aks holda IDE metodlarni ko'rmaydi.
Kod misoli
import lombok.*;
@Data // getter + setter + toString + equals + hashCode
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Talaba {
private String ism;
private int kurs;
private double ortachaBall;
}
Talaba t = Talaba.builder()
.ism("Ali")
.kurs(2)
.ortachaBall(4.5)
.build();
System.out.println(t.getIsm());
Keng tarqalgan xatolar
- pom.xml'ga qo'shib, IDE plaginini yoqmaslik — kod ishlaydi lekin IDE qizil chizadi.
- @Data'ni JPA entity'ga qo'yish — equals/hashCode bog'langan jadvallarda muammo qiladi.
Mashqlar
- Mavjud model klassingdagi qo'lda yozilgan getter/setterlarni @Data bilan almashtir.
- @Builder bilan 5 maydonli obyekt yaratib ko'r.
Teglar: lombok, kutubxona, model