====== LU08a - Vereinfachungen ======
Nachfolgend werden einige Bibliotheken gezeigt, um das Schreiben von Code zu vereinfachen.
==== Project Lombok ====
Project Lombok hilft Boilerplate-Code in Datenklassen auf ein Minimum zu reduzieren.
^ Klassisch ^ Lombok ^
|
public class Person {
private Long id;
private String firstName;
private String lastName;
private int age;
// Standard-Konstruktor
public Person() {
}
// Konstruktor mit allen Feldern
public Person(Long id, String firstName, String lastName, int age) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
// Getter und Setter
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
|
import lombok.Getter;
import lombok.Setter;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
@Getter // generiert Getter
@Setter // generiert Setter
@NoArgsConstructor // generiert Standard-Konstruktor
@AllArgsConstructor // generiert Konstruktor mit allen Feldern
public class Person {
private Long id;
private String firstName;
private String lastName;
private int age;
}
|
Mit ''@Data'' kann man sogar Getter, Setter, toString, equals und hashCode generieren lassen.
Mehr dazu auf https://www.cegos-integrata.de/blog/it-blog/programmiersprachen-blog/project-lombok-java-klassen-effizient-gestalten