Heim >Java >javaLernprogramm >Grundlegende Lombok-Anmerkungen, die jeder Java-Entwickler beherrschen muss!

Grundlegende Lombok-Anmerkungen, die jeder Java-Entwickler beherrschen muss!

DDD
DDDOriginal
2024-11-03 15:59:30767Durchsuche

Essential Lombok Annotations Every Java Developer Needs to Master!

Müden Sie es, sich wiederholenden Java-Code zu schreiben? ? Lombok ist hier, um den Tag zu retten! In Spring Boot sind Lombok-Anmerkungen bahnbrechend, da sie den Boilerplate reduzieren und Ihren Code sauberer und lesbarer machen. Schauen wir uns die unverzichtbaren Lombok-Anmerkungen an, die jeder Spring Boot-Entwickler kennen sollte!

1. @Getter und @Setter

  • Beschreibung: Erzeugt Getter- und Setter-Methoden für alle Felder in einer Klasse.
  • Verwendung: Sie können @Getter und @Setter auf Klassenebene anwenden, um Getter und Setter für alle Felder zu generieren, oder auf Feldebene, um sie nur für bestimmte Felder zu generieren.

    @Getter
    @Setter
    public class User {
        private String name;
        private int age;
    }
    

2. @Data

  • Beschreibung: Eine Verknüpfungsanmerkung, die @Getter, @Setter, @RequiredArgsConstructor, @ToString und @EqualsAndHashCode kombiniert.
  • Verwendung: Wird häufig für Datenübertragungsobjekte (DTOs) und Entitäten verwendet, bei denen Sie grundlegende Funktionen ohne große Anpassungen benötigen.

    @Data
    public class User {
        private String name;
        private int age;
    }
    

3. @AllArgsConstructor und @NoArgsConstructor

  • Beschreibung: @AllArgsConstructor generiert einen Konstruktor mit allen Feldern als Parameter, während @NoArgsConstructor einen Standardkonstruktor ohne Argumente generiert.
  • Verwendung: Wird oft in Kombination mit Spring Data JPA-Entitäten verwendet, bei denen ein Konstruktor ohne Argumente erforderlich ist, oder für die Abhängigkeitsinjektion, wenn alle Abhängigkeiten endgültig sind.

    @AllArgsConstructor
    @NoArgsConstructor
    public class User {
        private String name;
        private int age;
    }
    

4. @RequiredArgsConstructor

  • Beschreibung: Erzeugt einen Konstruktor mit Parametern für alle endgültigen Felder. Wenn es in einer Klasse mit @Autowired-Feldern verwendet wird, kann es für die Abhängigkeitsinjektion nützlich sein.
  • Verwendung: Nützlich in Spring Boot, wenn die konstruktorbasierte Abhängigkeitsinjektion verwendet wird.

    @RequiredArgsConstructor
    public class UserService {
        private final UserRepository userRepository;
    }
    

5. @Builder

  • Beschreibung: Implementiert das Builder-Muster und ermöglicht so eine einfache und lesbare Instanziierung von Objekten mit vielen Parametern.
  • Verwendung: Hilfreich beim Erstellen komplexer Objekte, insbesondere wenn Sie sich nicht mit der Reihenfolge der Konstruktorparameter befassen möchten.

    @Builder
    public class User {
        private String name;
        private int age;
    }
    
    // Usage
    User user = User.builder()
                    .name("Alice")
                    .age(25)
                    .build();
    

6. @ToString

  • Beschreibung: Erzeugt eine toString()-Methode. Sie können es anpassen, um bestimmte Felder einzuschließen oder auszuschließen.
  • Verwendung: Wird häufig für Protokollierungszwecke verwendet.

    @Getter
    @Setter
    public class User {
        private String name;
        private int age;
    }
    

7. @EqualsAndHashCode

  • Beschreibung: Erzeugt die Methoden equal() und hashCode(), nützlich zum Vergleichen von Objekten basierend auf Feldwerten statt Referenzen.
  • Verwendung: Nützlich für Entitäten oder DTOs, insbesondere bei Verwendung in Sammlungen.

    @Data
    public class User {
        private String name;
        private int age;
    }
    

8. @Wert

  • Beschreibung: Markiert eine Klasse als unveränderlich, macht alle Felder privat und endgültig und entfernt Setter. Gilt auch @ToString, @EqualsAndHashCode und @AllArgsConstructor.
  • Verwendung: Wird häufig für unveränderliche Datenübertragungsobjekte (DTOs) verwendet.

    @AllArgsConstructor
    @NoArgsConstructor
    public class User {
        private String name;
        private int age;
    }
    

9. @SneakyThrows

  • Beschreibung: Ermöglicht das Auslösen geprüfter Ausnahmen, ohne sie in der Methodensignatur zu deklarieren.
  • Verwendung: Hilft zur Vermeidung von Try-Catch-Blöcken, sollte jedoch sparsam verwendet werden, um sicherzustellen, dass die Ausnahmebehandlung explizit ist.

    @RequiredArgsConstructor
    public class UserService {
        private final UserRepository userRepository;
    }
    

10. @Slf4j

  • Beschreibung: Fügt der Klasse eine Logger-Instanz mit dem Namen log hinzu, um die Protokollierung zu vereinfachen.
  • Verwendung: Wird häufig in Spring Boot-Anwendungen zur Protokollierung verwendet.

    @Builder
    public class User {
        private String name;
        private int age;
    }
    
    // Usage
    User user = User.builder()
                    .name("Alice")
                    .age(25)
                    .build();
    

Diese Annotationen rationalisieren den Code und reduzieren den Boilerplate, was sie in Spring Boot-Anwendungen, in denen sauberer, lesbarer Code unerlässlich ist, äußerst wertvoll macht.

Das obige ist der detaillierte Inhalt vonGrundlegende Lombok-Anmerkungen, die jeder Java-Entwickler beherrschen muss!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn