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