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
https://projectlombok.org/download




L'installation est terminée.
Idea

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


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

Après l'installation, redémarrez VS Code au cas où
Lombok features https://projectlombok.org/features/all
build.gradle
// https://mvnrepository.com/artifact/org.projectlombok/lombok
compile group: 'org.projectlombok', name: 'lombok', version: '1.18.12'
@Getter/@Setter

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)

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

Trois méthodes, hashCode, equals et canEqual, sont générées.
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

@Value

@Builder

@Data

Comme indiqué dans l'exemple ci-dessus, il s'agit d'un résumé des annotations suivantes.
@ToString@EqualsAndHashCode
-- @ Getter pour tous les champs non finaux
-- @ Setter pour tous les champs non finaux@RequiredArgsConstructor@Log

@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