Lombok Annotations - @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor and @RequiredArgsConstructor
🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
Java is a powerful language, but sometimes its verbosity can lead to extensive boilerplate code, especially for simple tasks like creating getters, setters, and constructors. Enter Project Lombok - a Java library that aims to reduce this boilerplate code using a set of annotations. In this blog post, we'll explore some of the core annotations provided by Lombok.
1. @Getter and @Setter
Instead of manually writing getters and setters for each field in your class, you can use Lombok's @Getter and @Setter annotations.
Example without Lombok:
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
With Lombok:
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class User {
private String name;
}
Benefits: - Reduces lines of code.
- Auto-generated code ensures fewer human errors.
- Makes the class more readable.
2. @NoArgsConstructor
import lombok.NoArgsConstructor;
@NoArgsConstructor
public class User {
private String name;
}
This will generate a default constructor like:public User {
}
3. @AllArgsConstructor
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class User {
private String name;
}
This will generate a constructor like: public User(String name) {
this.name = name;
}
4. @RequiredArgsConstructor
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class User {
private final String name;
private int age;
}
This will generate a constructor like: public User(String name) {
this.name = name;
}
- Eliminates the need to manually create constructors.
- Ensures consistency as fields are added or removed.
- Enhances code readability by reducing boilerplate.
Comments
Post a Comment
Leave Comment