[JAVA] Comment utiliser Lombok maintenant

introduction

Lorsque j'ai importé la source d'un projet, j'ai eu beaucoup d'erreurs de construction. Il y a beaucoup d'erreurs là où XXXBuilder n'existe pas. Si vous regardez build.gradle, vous pouvez voir qu'il utilise la bibliothèque de lombok, mais en fait, vous devez également installer le plug-in Lombok dans l'EDI.

Lombok https://projectlombok.org/

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

Spring Tool Suite

télécharger lombok

https://projectlombok.org/download

Double-cliquez sur lombok JAR

image.png

Cliquez sur Spécifier l'emplacement pour sélectionner le dossier STS

image.png

Appuyez sur le bouton Sélectionner

image.png

Cliquez sur Installer / mettre à jour

image.png

L'installation est terminée.

Idea

Fichier ⇒ Paramètres ⇒ Plugins ⇒ lombok Entrer et rechercher

image.png

S'il existe déjà dans Installé, vous n'avez pas besoin de l'installer.

Sélectionnez sur l'onglet MarketPlace et entrez lombok pour rechercher

image.png

Appuyez sur le bouton Installer

image.png

Appuyez sur le bouton Redémarrer IDE pour terminer.

VSCode Vous pouvez éviter les erreurs de construction avec une extension appelée Lombok Annotations Support for VS Code. https://marketplace.visualstudio.com/items?itemName=GabrielBB.vscode-lombok

Installer «Prise en charge des annotations Lombok pour VS Code»

image.png

Appuyez sur le bouton Installer

Après l'installation, redémarrez VS Code au cas où

Comment utiliser Lombok

Lombok features https://projectlombok.org/features/all

Ajout de la bibliothèque lombok à build.gradle

build.gradle


    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compile group: 'org.projectlombok', name: 'lombok', version: '1.18.12'

@Getter/@Setter image.png

C'est facile à comprendre, mais les méthodes getter et setter sont générées automatiquement.

@ToString La méthode toString est définie et contrôlée comme @ToString (exclude =" age ", callSuper = false) image.png

Seul le champ d'âge exclu n'est pas utilisé.

@EqualsAndHashCode image.png

Trois méthodes, hashCode, equals et canEqual, sont générées.

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor image.png

@Value image.png

@Builder image.png

@Data image.png

Comme indiqué dans l'exemple ci-dessus, il s'agit d'un résumé des annotations suivantes.

@Log image.png

@Cleanup Une annotation qui libère automatiquement les ressources. Ceci est pratique car vous pouvez omettre vous-même le processus de fermeture des ressources.

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import lombok.Cleanup;

public class TestMain {

	public static void main(String[] args) throws Exception {
		@Cleanup
		InputStream in = new FileInputStream(args[0]);
		@Cleanup
		OutputStream out = new FileOutputStream(args[1]);

		byte[] b = new byte[1024];
		while (true) {
			int r = in.read(b);
			if (r == -1) {
				break;
			}
			out.write(b, 0, r);
		}
	}

}

Hakamo val, var, @ NonNull,@ Getter (lazy = true), @ Helper, @ Slf4j et ainsi de suite.

L'utilisation de ces annotations peut réduire le nombre de classes de haricots et améliorer la maintenance.

c'est tout

Recommended Posts

Comment utiliser Lombok maintenant
Comment utiliser @Builder (Lombok)
Comment utiliser Lombok au printemps
Comment utiliser Map
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser MapStruct
Comment utiliser TreeSet
Comment utiliser l'identité
Comment utiliser le hachage
Comment utiliser Dozer.mapper
Comment utiliser Gradle
Comment utiliser org.immutables
Comment utiliser java.util.stream.Collector
Comment utiliser VisualVM
Comment utiliser Map
Comment utiliser l'API Chain
[Java] Comment utiliser Map
Comment utiliser Queue avec priorité
[Rails] Comment utiliser enum
Comment utiliser java Facultatif
Comment utiliser le retour Ruby
[Rails] Comment utiliser enum
Comment utiliser la classe Java
[Java] Comment utiliser removeAll ()
Comment utiliser la jonction de rails
Ruby: Comment utiliser les cookies
Comment utiliser Eclipse Debug_Shell
Comment utiliser Apache POI
[Rails] Comment utiliser la validation
Comment utiliser les variables Java
Comment utiliser GC Viewer
[Création] Comment utiliser JUnit
[Rails] Comment utiliser Scope
Comment utiliser la méthode link_to
[Rails] Comment utiliser la "devise" des gemmes
Comment utiliser StringBurrer et Arrays.toString.
Comment utiliser le tableau (mémorandum personnel)
Comment utiliser HttpClient de Java (Get)
Comment utiliser scope (JSP & Servlet)
Comment utiliser la méthode include?
[Rails] Comment utiliser l'appareil (Remarque)
Comment utiliser la méthode form_with
[Rails] Comment utiliser les messages flash
Comment utiliser EventBus3 et ThreadMode
Comment utiliser binding.pry [53 jours restants]
[Java] Comment utiliser la méthode de jointure