2.2. Lombok
Lombok ist eine Java-Bibliothek, die Entwickler dabei unterstützt, Boilerplate-Code deutlich zu reduzieren. Durch einfache Annotationen können Getter, Setter, Konstruktoren und weitere Standardmethoden automatisch generiert werden.
Um Lombok in einem Maven-Projekt zu verwenden, füge folgende Dependency hinzu:
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.36</version>
<scope>provided</scope>
</dependency>
</dependencies>
Generiert automatisch Getter und Setter.
@Getter @Setter
private String name;
Generiert automatisch Konstruktoren ohne oder mit allen Argumenten.
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private String name;
private int age;
}
Erstellt einen Konstruktor mit allen als final
oder mit @NonNull
annotierten Feldern.
@RequiredArgsConstructor
public class Person {
private final String name;
private int age;
}
Kombiniert @Getter, @Setter, @ToString, @EqualsAndHashCode und @RequiredArgsConstructor.
@Data
public class Person {
private final String name;
private int age;
}
Erstellt ein Builder-Pattern für die Klasse.
@Builder
public class Person {
private String name;
private int age;
}
// Nutzung
Person p = Person.builder().name("Max").age(30).build();
Lombok vereinfacht die Java-Entwicklung enorm und sorgt für übersichtlichen, wartbaren Code.
Einige Lombok-Annotations sollten eher vermieden werden, da moderne Java-Alternativen existieren, die klarer, sicherer oder performanter sind:
- @SneakyThrows: Versteckt geprüfte Exceptions. Besser: Explizite Fehlerbehandlung nutzen.
- @Cleanup: Schließt Ressourcen automatisch. Besser: try-with-resources verwenden.
- @Synchronized: Ersetzt das native synchronized-Keyword. Besser: native Java-Synchronisierung nutzen.
Die Verwendung nativer Java-Alternativen ist in diesen Fällen meist transparenter und sicherer.