[JAVA] Lomboks @Getter @Setter-Betriebsnotizen

Einführung

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.

Über Lombok

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.

Trainieren

Lass es uns jetzt benutzen.

Wenn Sie einen Getter oder Setter für ein bestimmtes Feld erstellen möchten

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. image.png

Ü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.

Wenn Sie Getter und Setter für alle Felder in der Klasse erstellen möchten

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. image.png

Die Überprüfung des Betriebs entfällt.

Wenn Sie Getter in allen Feldern und Setter in einigen Feldern erstellen möchten

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;
}

image.png

Wie Sie angegeben haben, wird der Setter nur in "id" erstellt.

Wenn Sie keine Getter und Setter nur für einige Felder erstellen möchten

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;
}

image.png

Wie Sie sehen können, wurden der Getter und der Setter mit dem angegebenen AccessLevel.NONE nicht erstellt.

Wenn Sie das Verhalten von Getter und Setter von der Standardeinstellung ändern möchten

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. image.png

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.

Zusammenfassung

Referenz

Recommended Posts

Lomboks @Getter @Setter-Betriebsnotizen
Docker-Betriebsnotiz
Memo zur Beschleunigung der Bitberechnung
Fehlerbehebung von Java Setter Getter
Persönliches Memo Lomboks typische Anmerkung
Automatische Generierung von Konstruktor, Getter / Setter