====== 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