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

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

DDD
Freigeben: 2024-11-03 15:59:30
Original
753 Leute haben es durchsucht

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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();
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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;
    }
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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();
    
    Nach dem Login kopieren
    Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage