Lombok
Lombok stellt eine externe Java-Bibliothek dar, die das Erstellen von Boilerplate-Code überflüssig macht. Repetitive Methoden wie Konstruktoren, Getter, Setter und die Objekt-Methoden müssen nicht manuell implementiert werden, sondern werden beim Kompilieren generiert.
Annotationen
Durch entsprechende Annotationen kann gesteuert werden, welche Methoden wie generiert werden sollen.
Annotation | Beschreibung |
---|---|
@RequiredArgsConstructor | Generiert einen Konstruktor mit Parametern zu allen unveränderlichen Attributen |
@AllArgsConstructor | Generiert einen Konstruktor mit Parametern zu allen Attributen |
@Getter | Generiert Get-Methoden zu allen Attributen |
@Setter | Generiert Set-Methoden zu allen veränderlichen Attributen |
@EqualsAndHashCode | Generiert Implementierungen für die Methoden boolean equals(object: Object) und int hashCode() |
@ToString | Generiert eine Implementierung für die Methode String toString() |
@Data | @RequiredArgsConstructor + @Getter + @Setter + @EqualsAndHashCode + @ToString |
Beispiel
Für die Klasse Student
werden mit Hilfe von Lombok-Annotationen Konstruktoren,
Setter und Getter sowie die Object-Methoden generiert.
- Fachklasse
- Startklasse
Student.java
@RequiredArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@EqualsAndHashCode
@ToString
public class Student {
public final int id;
public final String name;
public double averageGrade;
}
MainClass.java
public class MainClass {
public static void main(String[] args) {
Student student1 = new Student("8172534", "Hans Maier");
student1.setAverageGrade(2.2);
System.out.println(student1.getName());
Student student2 = new Student("9167121", "Lisa Müller", 1.8);
System.out.println(student2);
}
}