tgoop.com/javapro_ir/4426
Create:
Last Update:
Last Update:
✍️ آشنایی با Lombok @Data در جاوا
در برنامهنویسی جاوا معمولاً وقتی یک کلاس مدل (Model/Entity) مینویسیم، نیاز به نوشتن مقدار زیادی کد تکراری داریم مثل:
متدهای getter و setter
متد toString()
متدهای equals() و hashCode()
این کار هم وقتگیر است و هم باعث شلوغ شدن کلاس میشود.
🔹 کتابخانه Lombok یک کتابخانه کاربردی است که با استفاده از Annotations کدهای تکراری را به صورت خودکار تولید میکند.
📌 نقش @Data
وقتی روی یک کلاس از @Data استفاده میکنیم، Lombok به طور خودکار موارد زیر را برای ما تولید میکند:
1. همهی getter و setter ها برای فیلدها
2. متد toString()
3. متد equals() و hashCode()
4. یک constructor برای فیلدهای final
✅ مثال ساده
import lombok.Data;
@Data
public class User {
private String name;
private int age;
}
🔹 معادل کدی که Lombok در پشت صحنه تولید میکند (بدون اینکه شما بنویسید):
public class User {
private String name;
private int age;
// Getters & Setters
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
// toString
@Override
public String toString() {
return "User(name=" + name + ", age=" + age + ")";
}
// equals & hashCode
@Override
public boolean equals(Object o) { /* کد تولیدشده */ }
@Override
public int hashCode() { /* کد تولیدشده */ }
}
🎯 استفاده در عمل
public class Main {
public static void main(String[] args) {
User u1 = new User();
u1.setName("Saleh");
u1.setAge(23);
System.out.println(u1);
// خروجی: User(name=Saleh, age=23)
User u2 = new User();
u2.setName("Saleh");
u2.setAge(23);
System.out.println(u1.equals(u2));
// true چون Lombok خودش equals و hashCode را نوشته
}
}
⚠️ نکته مهم
برای اینکه Lombok کار کند باید:
1. کتابخانه Lombok را به پروژه اضافه کنید.
در Maven:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
در Gradle:
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
2. پلاگین Lombok را در IDE (مثل IntelliJ یا Eclipse) فعال کنید.
✨ نتیجه: با @Data شما میتوانید کلاسهای تمیزتر، خواناتر و کوتاهتر بنویسید بدون نیاز به نوشتن کدهای تکراری.
#کاربرـحرفهـای
🆔 @javapro_ir
🆔 @group_javapro
BY برنامه نویسی جاوا | Java
Share with your friend now:
tgoop.com/javapro_ir/4426