[JAVA] Lombok ① Einführung

Was ist Lombok?

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,

Wenn Sie auf der Einführungsstufe sind, wenn Sie das oben Gesagte gedrückt halten, denke ich, dass es vorerst in Ordnung ist.

Einführung

Entwicklungsumgebung

1-a. Abhängigkeit im bereitgestellten Bereich hinzugefügt (nur für Gradle 2.11 und darunter)

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

1-b. Abhängigkeit mit War-Plug-In hinzufügen (nur für Gradle 2.12 oder höher)

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"
...
}

1-c. Abhängigkeit mit compileOnly hinzufügen (nur für Gradle 2.11 oder niedriger)

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"
...
}

2. Fügen Sie Eclipse das Lombok-Plug-In hinzu

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. スクリーンショット 2017-03-25 20.29.31.png

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.

スクリーンショット 2017-03-25 20.27.12.png

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 ♪

nächstes Mal

Als nächstes möchte ich eine Anmerkung zur Objekterstellung einführen.

Na dann.

Recommended Posts

Lombok ① Einführung
Einführung (Selbsteinführung)
Lombok Memo
[Java] Einführung
Einführung (Bearbeitung)
Versuchen Sie es mit Lombok
Einführung in Ruby 2
Spring Fox ① Einführung
Rspec Einführung note_Rails
Einführung von pay.jp
Einführung der Funktionsschnittstelle
Einführung von Milkode
[Rails 6] cocoon_ Einführung
Einführung in web3j
Einführung in Micronaut 1 ~ Einführung ~
[Java] Einführung in Java
Einführung in die Migration
Einführung in Java
Lombok ② Objekterzeugung
Einführung in Doma
Ractor super Einführung