Dies ist ein Memo des Ergebnisses der Betriebsüberprüfung mit den Schwerpunkten "@ Getter" und "@ Setter" von Lombok. Ich werde nicht darüber schreiben, wie man Lombok installiert und wie man andere Anmerkungen als "@ Getter" und "@ Setter" verwendet. Sehen Sie also bitte, was andere Leute zusammengestellt haben.
Bevor ich zum Hauptthema komme, werde ich Lombok kurz erklären. Lombok ist eine Bibliothek, die mithilfe bestimmter Anmerkungen automatisch Methoden wie "getter", "setter" und "toString" generiert.
Sie können die Anzahl der Beschreibungen wie POJO-Objekte in der Entwicklungsphase reduzieren. Es mag heutzutage nur wenige Leute geben, die Getter und Setter selbst schreiben, aber ** Rechtschreibfehler ** können beseitigt werden, weil sie automatisch generiert werden.
Lass es uns jetzt benutzen.
In diesem Fall fügen Sie den Feldern, für die Sie Getter und Setter erstellen möchten, "@ Getter" und "@ Setter" hinzu.
Product.java
import lombok.Getter;
import lombok.Setter;
public class Product {
@Getter
@Setter
private long id;
@Getter
private String name = "Maus";
}
Wenn Sie die Gliederung überprüfen, können Sie sehen, dass der für das Feld angegebene Getter und Setter erstellt wurden.
Überprüfen Sie, ob es tatsächlich funktioniert.
public static void main(String[] args) {
Product product = new Product();
product.setId(1L);
System.out.println(product.getId());
System.out.println(product.getName());
}
Konsole
1
Maus
Sie können sehen, dass jeder so richtig funktioniert.
Früher haben wir die Felder "@ Getetter" und "@ Setter" angegeben, aber in diesem Fall geben wir die Klassen "@ Getetter" und "@ Setter" an.
Product.java
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Product {
private long id;
private String name;
}
Sie können sehen, dass für alle Felder in der Klasse Getter und Setter erstellt wurden.
Die Überprüfung des Betriebs entfällt.
Kommentieren Sie in diesem Fall die Klasse, wenn Sie sie auf alle Felder anwenden möchten, und kommentieren Sie das Feld, wenn Sie es auf einige Felder anwenden möchten.
Product.java
import lombok.Getter;
import lombok.Setter;
@Getter
public class Product {
@Setter
private long id;
private String name;
}
Wie Sie angegeben haben, wird der Setter nur in "id" erstellt.
Geben Sie "AccessLevel.NONE" an, wenn Sie Getter und Setter für fast alle Felder in der Klasse erstellen möchten, jedoch nicht für einige Felder. Mit "AccessLevel" können Sie die Zugriffsqualifizierer des erstellten Getters und Setters ändern. Wenn nichts angegeben ist, ist es "public".
Product.java
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Product {
@Getter(AccessLevel.NONE)
private long id;
@Setter(AccessLevel.NONE)
private String name;
}
Wie Sie sehen können, wurden der Getter und der Setter mit dem angegebenen AccessLevel.NONE
nicht erstellt.
Während der Entwicklung werden Sie auf einen Fall stoßen, in dem Sie das Verhalten von Gettern und Setzern nur für einen Teil der Klasse ändern möchten. Implementieren Sie in diesem Fall den Getter und Setter des Felds, dessen Verhalten Sie ändern möchten. Lassen Sie uns diesmal nur den "Getter" des "Namens" -Felds selbst implementieren.
Product.java
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Product {
private long id;
private String name;
public String getName() {
return "Produktname: " + name;
}
}
Aus der Gliederung hat sich die Reihenfolge geändert, aber Sie können sehen, dass es einen "Getter" gibt.
Bewegen wir es auf die gleiche Weise wie zuvor.
public static void main(String[] args) {
Product product = new Product();
product.setId(1L);
product.setName("Tastatur");
System.out.println(product.getId());
System.out.println(product.getName());
}
Konsole
1
Produktname:Tastatur
Sie können sehen, dass der von Ihnen selbst implementierte Getter so heißt.