Durch die Verwendung von Annotationen kann Lombok Java-Code vereinfachen und die Entwicklungseffizienz verbessern. Es handelt sich an sich um eine hervorragende Java-Codebibliothek. Sie nutzt einen opportunistischen syntaktischen Zucker, um die Java-Codierung zu vereinfachen und bietet eine Möglichkeit, Java-Code zu optimieren.
Java-Klassen, die häufig während der Webentwicklung geschrieben werden müssen, benötigen Zeit, um entsprechende Getter/Setter, Konstruktoren, Equals und andere Methoden hinzuzufügen. Wenn viele Attribute vorhanden sind, gibt es eine große Anzahl von Getter/Setter-Methoden, die sehr langwierig sind und nicht viel technischen Inhalt haben. Sobald die Attribute geändert werden, vergisst man leicht, die entsprechenden Methoden zu ändern.
Offizielle Website: Projekt Lombok
1. Allgemeine Anmerkungen zu Lombok
Hinweis | Funktion |
---|---|
@Data | #🎜 🎜#Annotiert für die Klasse; stellt Methoden zum Abrufen und Festlegen aller Attribute der Klasse sowie die Methoden „equals“, „canEqual“, „hashCode“ und „toString“ bereit|
Auf der Eigenschaft mit Anmerkungen versehen; stellt Einstellungsmethode für die Eigenschaft bereit Methode für die Eigenschaft abrufen | |
Annotiert für die Klasse; Versehen Sie die Klasse mit einem log4j-Protokollobjekt mit einem Attribut namens log# 🎜🎜##🎜🎜 # | @NoArgsConstructor |
ist für die Klasse mit Anmerkungen versehen; stellt eine vollständig parametrisierte Konstruktormethode für die Klasse bereit | |
Stream schließen | |
Die annotierte Klasse fügt Konstruktormuster hinzu | # ?? zu try/catch, um Ausnahmen abzufangen geworfen werden. |
@Value | Die Annotation ähnelt @Data. Standardmäßig sind alle Mitgliedsvariablen als private endgültige Änderungen definiert. und die Set-Methode wird nicht generiert |
2. Grund für das Scheitern der Lombok-AnnotationNach der Einführung der Lombok-Abhängigkeit in pom.xml müssen Sie auch installieren Das Lombok-Plug-in#🎜 🎜#, muss IDEA neu gestartet werden, damit es wirksam wird. Integrationsprozess1. Lombok-Abhängigkeiten einführen: Kopieren Sie den folgenden Code und fügen Sie ihn in pom.xml ein, warten Sie, bis das Maven-Repository aktiviert ist Laden Sie die Abhängigkeiten automatisch herunter und installieren Sie sie. Wenn der automatische Paketimport nicht eingestellt ist, klicken Sie auf Manueller Import.<!--导入lombok小辣椒驱动依赖,用来生成get/set等方法依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <!--<optional>true</optional>--> <version>1.18.12</version> <scope>provided</scope><!--自动生成有参无参构造--> </dependency> Nach dem Login kopieren
package com.dvms.entity; /* *文件名: Anglerecord *创建者: CJW *创建时间:2020/6/6 14:40 *描述: 记录 */ public class Record { private String time; private String device; private String state; public Record(String time, String device, String state) { this.time = time; this.device = device; this.state = state; } public Record() { } public String getTime() { return this.time; } public String getDevice() { return this.device; } public String getState() { return this.state; } public Record setTime(String time) { this.time = time; return this; } public Record setDevice(String device) { this.device = device; return this; } public Record setState(String state) { this.state = state; return this; } public boolean equals(final Object o) { if (o == this) return true; if (!(o instanceof Record)) return false; final Record other = (Record) o; if (!other.canEqual((Object) this)) return false; final Object this$time = this.getTime(); final Object other$time = other.getTime(); if (this$time == null ? other$time != null : !this$time.equals(other$time)) return false; final Object this$device = this.getDevice(); final Object other$device = other.getDevice(); if (this$device == null ? other$device != null : !this$device.equals(other$device)) return false; final Object this$state = this.getState(); final Object other$state = other.getState(); if (this$state == null ? other$state != null : !this$state.equals(other$state)) return false; return true; } protected boolean canEqual(final Object other) { return other instanceof Record; } public int hashCode() { final int PRIME = 59; int result = 1; final Object $time = this.getTime(); result = result * PRIME + ($time == null ? 43 : $time.hashCode()); final Object $device = this.getDevice(); result = result * PRIME + ($device == null ? 43 : $device.hashCode()); final Object $state = this.getState(); result = result * PRIME + ($state == null ? 43 : $state.hashCode()); return result; } public String toString() { return "Record(time=" + this.getTime() + ", device=" + this.getDevice() + ", state=" + this.getState() + ")"; } } Nach dem Login kopieren erstellt werden. package com.dvms.entity; /* *文件名: Anglerecord *创建者: CJW *创建时间:2020/6/6 14:40 *描述: 记录 */ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.Accessors; @Data @ToString @AllArgsConstructor @NoArgsConstructor @Accessors(chain = true) //链式调用 public class Record { private String time; private String device; private String state; } Nach dem Login kopieren Vorteile: Lombok kann automatisch Getter/Setter, Equals, toString und andere Methoden für Eigenschaften zur Kompilierungszeit durch Annotationen generieren, Dadurch entfällt die Mühe, diese Codes manuell neu zu erstellen, und der Code der Programmentitätsklasse (Entity/Pojo) sieht schlanker und eleganter aus.
a. Generieren Sie Getter/Setter-, Equals-, HashCode-, toString- und Konstruktor-Methoden über die IDE-eigene Tastenkombination Alt+Einfügen;
java -jar lombok.jar delombok src -d src-delomboked Nach dem Login kopieren , um die Klassendatei zu konvertieren implementiert durch Lombok-Annotation Für Java-Quelldateien, die Lombok nicht verwenden.
|
Das obige ist der detaillierte Inhalt vonSpringBoot integriert Lombok und zeigt, wie man häufig auftretende Probleme löst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!