Es ist eine Bibliothek, die beim Erstellen von Java-Klassen zur Kompilierungszeit automatisch redundante Beschreibungen generiert.
Zum Beispiel die folgende Klasse
DateTime.java
public class DateTime
{
private LocalDateTime value = LocalDateTime.MIN;
public DateTime()
{
}
public DateTime( LocalDateTime value )
{
this.value = value;
}
public boolean isEmpty()
{
return value == null;
}
public boolean isNotEmpty()
{
return !isEmpty();
}
public String format( String pattern )
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( pattern);
return formatter.format( value );
}
public LocalDateTime getValue()
{
return value;
}
public void setValue( LocalDateTime value )
{
this.value = value;
}
@Override
public String toString()
{
String format = "Person(name=%s)";
return String.format(format, value);
}
}
Es kann wie folgt überarbeitet werden.
DateTime.java
@AllArgsConstructor
@NoArgsConstructor
@toString
public class DateTime
{
@Getter
@Setter
private LocalDateTime value = LocalDateTime.MIN;
public boolean isEmpty()
{
return value == null;
}
public boolean isNotEmpty()
{
return !isEmpty();
}
public String format( String pattern )
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( pattern);
return formatter.format( value );
}
}
des Weiteren
DateTime.java
@AllArgsConstructor
@NoArgsConstructor
@Data
public class DateTime
{
private LocalDateTime value = LocalDateTime.MIN;
public boolean isEmpty()
{
return value == null;
}
public boolean isNotEmpty()
{
return !isEmpty();
}
public String format( String pattern )
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( pattern);
return formatter.format( value );
}}
Kann ausgelassen werden.
* @Data bedeutet eine Zusammenstellung mehrerer Anmerkungen wie @Getter und @ Setter
Es ist erfrischend, weil es in der Klasse nur sinnvolle Methoden gibt.
Es gibt verschiedene andere Anmerkungen,
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@toString
Wenn Sie auf der Einführungsstufe sind, wenn Sie das oben Gesagte gedrückt halten, denke ich, dass es vorerst in Ordnung ist.
lombok generiert jede Methode gemäß der Anmerkung zur Kompilierungszeit. Wenn es sich um Gradle 2.11 oder weniger handelt, müssen Sie die bereitgestellten Konfigurationen selbst hinzufügen.
build.gradle
...
configurations {
provided
}
...
dependencies {
...
provided "org.projectlombok:lombok:1.16.4"
...
}
Bei der Entwicklung mit Eclipse ist außerdem die folgende Beschreibung erforderlich.
build.gradle
eclipse {
classpath {
plusConfigurations += [configurations.provided]
noExportConfigurations += [configurations.provided]
}
}
In 1-a haben wir die bereitgestellten Konfigurationen selbst definiert. Durch Hinzufügen des War-Plug-Ins von gradle kann vorausgesetzt, dass Compile verwendet werden kann, damit Sie es verwenden können.
build.gradle
...
apply plugin: 'war'
...
dependencies {
...
providedCompile "org.projectlombok:lombok:1.16.4"
...
}
Ab Gradle 2.12 wurde ein Bereich namens compileOnly hinzugefügt, der standardmäßig bereitgestellt wird. Verwenden Sie diesen.
build.gradle
...
dependencies {
...
compileOnly "org.projectlombok:lombok:1.16.4"
...
}
Wenn Sie nur eine Abhängigkeit hinzufügen, funktioniert die erstellte App einwandfrei, wird jedoch in der IDE nicht erkannt. Sie müssen daher das Lombok-Plug-In hinzufügen.
Laden Sie jar von der offiziellen Website herunter https://projectlombok.org/download.html
Für Windows Doppelklicken Sie auf das heruntergeladene JAR, um das Installationsprogramm zu starten. Wählen Sie daher die Eclipse-Exe-Datei aus, um die Einstellung abzuschließen.
Für Mac Kopieren Sie das heruntergeladene Jar in das folgende Verzeichnis
cp ./lombok.jar /Applications/Eclipse.app/Contents/MacOS/lombok.jar
Fügen Sie Folgendes zu /Applications/Eclipse.app/Contents/Eclipse/eclipse.ini hinzu
eclipse.ini
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
Dadurch werden Lombok-Anmerkungen in Eclipse aktiviert.
Dies ermöglicht es, verschwendete Codierungszeit zu reduzieren.
Abhängig vom Objekt gibt es jedoch Fälle, in denen es besser ist, keinen Setter zu erstellen. Verwenden Sie ihn daher ordnungsgemäß und verbringen Sie ein angenehmes Java-Leben ♪
Als nächstes möchte ich eine Anmerkung zur Objekterstellung einführen.
Na dann.
Recommended Posts