[JAVA] Lombok ① Introduction

Qu'est-ce que Lombok

Il s'agit d'une bibliothèque qui génère automatiquement des descriptions redondantes lors de la création de classes Java au moment de la compilation.

Par exemple, la classe suivante

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

}

Il peut être remanié comme suit.

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

plus loin

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

Peut être omis. * @Data signifie un composite de plusieurs annotations telles que @Getter et @ Setter

C'est rafraîchissant car il n'y a que des méthodes significatives dans la classe.

Il existe diverses autres annotations,

Si vous êtes au niveau d'introduction, si vous maintenez ce qui précède, je pense que c'est correct pour le moment.

introduction

Environnement de développement

1-a. Ajout d'une dépendance dans la portée fournie (uniquement pour gradle 2.11 et inférieur)

lombok génère chaque méthode selon l'annotation au moment de la compilation, S'il est de niveau 2.11 ou moins, vous devez ajouter vous-même les configurations fournies.

build.gradle


...
configurations {
    provided
}
...
dependencies {        
...
    provided "org.projectlombok:lombok:1.16.4"
...
}

De plus, lors du développement avec Eclipse, la description suivante est également requise.

build.gradle


eclipse {
    classpath {
        plusConfigurations += [configurations.provided]
        noExportConfigurations += [configurations.provided]
    }
}

1-b. Ajouter une dépendance avec le plug-in war (uniquement pour gradle 2.12 ou supérieur)

En 1-a, nous avons défini nous-mêmes providedConfigurations, mais en ajoutant le plug-in war de gradle, providedCompile peut être utilisé, vous pouvez donc l'utiliser.

build.gradle


...
apply plugin: 'war'
...
dependencies {        
...
    providedCompile "org.projectlombok:lombok:1.16.4"
...
}

1-c. Ajouter une dépendance avec compileOnly (uniquement pour gradle 2.11 ou inférieur)

Depuis gradle 2.12, une portée appelée compileOnly, qui est fournie par défaut, a été ajoutée, alors utilisez-la.

build.gradle


...

dependencies {        
...
    compileOnly "org.projectlombok:lombok:1.16.4"
...
}

2. Ajouter le plug-in lombok à Eclipse

Si vous ajoutez simplement une dépendance, l'application construite fonctionnera correctement, mais elle ne sera pas reconnue sur l'EDI, vous devez donc ajouter le plug-in lombok. スクリーンショット 2017-03-25 20.29.31.png

Téléchargez le bocal depuis le site officiel https://projectlombok.org/download.html

Pour les fenêtres Double-cliquez sur le fichier jar téléchargé pour démarrer le programme d'installation, sélectionnez donc le fichier exe Eclipse pour terminer le réglage.

Pour Mac Copiez le Jar téléchargé dans le répertoire suivant

cp ./lombok.jar /Applications/Eclipse.app/Contents/MacOS/lombok.jar

Ajoutez ce qui suit à /Applications/Eclipse.app/Contents/Eclipse/eclipse.ini

eclipse.ini


-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

Cela activera les annotations Lombok sur Eclipse.

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

Cela permet de réduire le temps de codage perdu.

Cependant, selon l'objet, il y a des cas où il vaut mieux ne pas créer de setter, alors utilisons-le correctement et passons une vie Java confortable ♪

la prochaine fois

Ensuite, je voudrais introduire une annotation liée à la création d'objets.

Eh bien.

Recommended Posts

Lombok ① Introduction
Introduction (auto-introduction)
Mémo de Lombok
[Java] Introduction
Introduction (édition)
Essayez Lombok
Introduction à Ruby 2
Spring Fox ① Introduction
Rspec introduction note_Rails
Introduction de pay.jp
Introduction de l'interface fonctionnelle
Introduction de milkode
[Rails 6] cocoon_ introduction
Introduction à web3j
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Introduction à la migration
Introduction à Java
Lombok ② Génération d'objets
Introduction à Doma
Super introduction de Ractor