Annotations courantes et scénarios d'application de lombok

présentation de lombok

Lombok est une bibliothèque Java qui simplifie l'écriture de code Java grâce aux annotations. Il fournit une série d'annotations qui peuvent générer automatiquement des getters, des setters, des constructeurs, des égaux, des hashCode et d'autres méthodes de classe Java, réduisant ainsi la redondance du code Java. L'objectif de Lombok est de simplifier l'écriture de code Java grâce aux annotations, améliorant ainsi l'efficacité du développement ainsi que la lisibilité et la maintenabilité du code.
Les principales fonctionnalités de Lombok incluent :
① Simplifier l'écriture du code Java : les annotations Lombok peuvent générer automatiquement des getters, setters, constructeurs, equals, hashCode et d'autres méthodes de classe Java, réduisant ainsi la redondance du code Java.
② Améliorer la lisibilité et la maintenabilité du code : les annotations de Lombok peuvent améliorer la lisibilité et la maintenabilité du code, rendant le code plus clair et plus facile à comprendre.
③ Prise en charge de divers projets Java : Lombok convient à divers projets Java, en particulier les projets à grande échelle et les projets nécessitant la création fréquente d'objets Java.
④ Facilité d'utilisation : les annotations de Lombok sont très faciles à utiliser, il suffit d'ajouter les annotations correspondantes à la classe Java.


Remarques communes


Annotations @Getter et @Setter

Scénario d'application :

Dans le développement réel, nous avons souvent besoin d'écrire des méthodes getter et setter pour les propriétés des classes Java afin d'accéder et de modifier la valeur des propriétés ailleurs. Par exemple, un objet utilisateur a trois propriétés d'id, de nom et d'âge, nous devons écrire des méthodes getter et setter pour ces trois propriétés. À ce stade, vous pouvez utiliser les annotations @Getter et @Setter pour générer automatiquement des méthodes getter et setter afin de réduire la redondance du code Java.

Par exemple:

Supposons qu'il existe une classe Java User, qui possède trois attributs : id, name et age. Nous espérons générer automatiquement des méthodes getter et setter pour ces trois propriétés afin de réduire la redondance du code Java. À ce stade, vous pouvez utiliser les annotations @Getter et @Setter pour générer automatiquement des méthodes getter et setter.
L'exemple de code est le suivant :

public class User {
    @Getter @Setter
    private Long id;
    @Getter @Setter
    private String name;
    @Getter @Setter
    private Integer age;
}

Dans le code ci-dessus, nous utilisons les annotations @Getter et @Setter pour générer automatiquement des méthodes getter et setter pour les propriétés id, name et age. De cette façon, nous pouvons accéder et modifier les valeurs de ces trois propriétés ailleurs sans écrire de méthodes getter et setter redondantes.


Annotation @ToString

Scénario d'application :

Dans le développement réel, nous avons souvent besoin de sortir le contenu de l'objet Java lors du débogage afin d'afficher les valeurs de propriété de l'objet. Par exemple, un objet utilisateur a trois propriétés d'id, de nom et d'âge, nous devons écrire la méthode toString pour ces trois propriétés. À ce stade, vous pouvez utiliser l'annotation @ToString pour générer automatiquement la méthode toString afin de réduire la redondance du code Java.

Par exemple:

Supposons qu'il existe une classe Java User, qui possède trois attributs : id, name et age. Nous espérons générer automatiquement la méthode toString de cette classe, ce qui est pratique pour afficher le contenu de l'objet lors du débogage. À ce stade, vous pouvez utiliser l'annotation @ToString pour générer automatiquement la méthode toString.
L'exemple de code est le suivant :

@ToString
public class User {
    private Long id;
    private String name;
    private Integer age;
}

Dans le code ci-dessus, nous utilisons l'annotation @ToString pour générer automatiquement la méthode toString de la classe User. De cette façon, nous pouvons facilement sortir le contenu de l'objet User pendant le débogage sans écrire de méthodes toString redondantes.
Par exemple, s'il existe un objet Utilisateur dont l'attribut id est 1, l'attribut name est "Zhang San" et l'attribut age est 18, le contenu de cet objet peut être généré de la manière suivante :

User user = new User();
user.setId(1L);
user.setName("张三");
user.setAge(18);
System.out.println(user);

La sortie est la suivante :

User(id=1, name=张三, age=18)

Annotation @EqualsAndHashCode

Scénario d'application :

Dans le développement réel, nous devons souvent comparer le contenu des objets Java pour déterminer s'ils sont identiques. Par exemple, un objet utilisateur a trois attributs d'id, de nom et d'âge, nous devons écrire des méthodes equals et hashCode pour ces trois attributs. À ce stade, vous pouvez utiliser l'annotation @EqualsAndHashCode pour générer automatiquement des méthodes equals et hashCode afin de réduire la redondance du code Java.

Par exemple:

Supposons qu'il existe une classe Java User, qui possède trois attributs : id, name et age. Nous voulons générer automatiquement les méthodes equals et hashCode de cette classe pour faciliter la comparaison du contenu des objets. À ce stade, vous pouvez utiliser l'annotation @EqualsAndHashCode pour générer automatiquement les méthodes equals et hashCode.
L'exemple de code est le suivant :

@EqualsAndHashCode
public class User {
    private Long id;
    private String name;
    private Integer age;
}

Dans le code ci-dessus, nous utilisons l'annotation @EqualsAndHashCode pour générer automatiquement les méthodes equals et hashCode de la classe User. De cette façon, nous pouvons facilement comparer le contenu des objets User sans écrire des méthodes equals et hashCode redondantes.
Par exemple, s'il y a deux objets Utilisateur dont l'attribut id est 1, l'attribut name est "Zhang San" et l'attribut age est 18, alors le contenu des deux objets peut être comparé de la manière suivante :

User user1 = new User();
user1.setId(1L);
user1.setName("张三");
user1.setAge(18);

User user2 = new User();
user2.setId(1L);
user2.setName("张三");
user2.setAge(18);

boolean result = user1.equals(user2);
System.out.println(result);

La sortie est vraie, indiquant que le contenu des deux objets est le même.


Annotations @NoArgsConstructor et @AllArgsConstructor

Scénario d'application :

Dans le développement réel, nous avons souvent besoin de créer des objets Java et d'initialiser les valeurs de propriété des objets. Par exemple, un objet utilisateur a trois attributs : id, name et age, et nous devons écrire des constructeurs pour ces trois attributs. À ce stade, vous pouvez utiliser les annotations @NoArgsConstructor et @AllArgsConstructor pour générer automatiquement des constructeurs afin de réduire la redondance du code Java.

Par exemple:

Supposons qu'il existe une classe Java User, qui possède trois attributs : id, name et age. Nous espérons générer automatiquement le constructeur sans argument et le constructeur à argument complet de cette classe pour faciliter la création d'objets et initialiser les valeurs des propriétés. À ce stade, vous pouvez utiliser les annotations @NoArgsConstructor et @AllArgsConstructor pour générer automatiquement des constructeurs.
L'exemple de code est le suivant :

import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
}

Dans le code ci-dessus, nous utilisons les annotations @NoArgsConstructor et @AllArgsConstructor pour générer automatiquement le constructeur sans argument et le constructeur à argument complet de la classe User. De cette manière, nous pouvons facilement créer l'objet User et initialiser les valeurs de propriété de l'objet sans écrire de constructeurs redondants.
Par exemple, si vous souhaitez créer un objet Utilisateur avec l'ID 1, le nom "Zhang San" et l'âge de 18 ans, vous pouvez créer l'objet de la manière suivante :

User user = new User(1L, "张三", 18);

@Annotation des données

L'annotation @Data combine toutes les fonctions d'annotation de @Getter, @Setter, @ToString, @EqualsAndHashCode, @NoArgsConstructor, @AllArgsConstructor ci-dessus.


Annotation @Builder

Scénario d'application :

Dans le développement réel, nous avons souvent besoin de créer des objets Java et d'initialiser les valeurs de propriété des objets. Par exemple, un objet utilisateur a trois propriétés d'identifiant, de nom et d'âge, nous devons écrire des méthodes de définition pour ces trois propriétés. À ce stade, vous pouvez utiliser l'annotation @Builder pour générer automatiquement la méthode du générateur afin de réduire la redondance du code Java

Par exemple:

Supposons qu'il existe une classe Java User, qui possède trois attributs : id, name et age. Nous voulons générer automatiquement la méthode builder de cette classe, ce qui est pratique pour créer des objets et initialiser les valeurs des propriétés. À ce stade, vous pouvez utiliser l'annotation @Builder pour générer automatiquement la méthode de générateur.
L'exemple de code est le suivant :

import lombok.Builder;

@Builder
public class User {
    private Long id;
    private String name;
    private Integer age;
}

Dans le code ci-dessus, nous utilisons l'annotation @Builder pour générer automatiquement la méthode builder de la classe User. De cette manière, nous pouvons facilement créer un objet User et initialiser les valeurs de propriété de l'objet sans écrire de méthodes setter redondantes.
Par exemple, si vous souhaitez créer un objet Utilisateur avec l'ID 1, le nom "Zhang San" et l'âge de 18 ans, vous pouvez créer l'objet de la manière suivante :

User user = User.builder()
                .id(1L)
                .name("张三")
                .age(18)
                .build();
      

@Slf4j annotation

Scénario d'application :

Dans le développement réel, nous devons souvent enregistrer le journal d'exécution du programme Java afin de dépanner lorsqu'une erreur se produit. Par exemple, un objet utilisateur a trois attributs : id, name et age.Nous devons enregistrer les journaux de création et de modification de l'objet utilisateur dans le programme. À ce stade, vous pouvez utiliser l'annotation @Slf4j pour générer automatiquement un enregistreur afin de réduire la redondance du code Java.

Par exemple:

Supposons qu'il existe une classe Java User, qui possède trois attributs : id, name et age. Nous espérons enregistrer les journaux de création et de modification des objets utilisateur dans le programme pour faciliter le dépannage. À ce stade, vous pouvez utiliser l'annotation @Slf4j pour générer automatiquement un enregistreur.
L'exemple de code est le suivant :

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class User {
    private Long id;
    private String name;
    private Integer age;
    
    public User(Long id, String name, Integer age) {
        this.id = id;
        this.name = name;
        this.age = age;
        log.info("创建用户对象:{}", this);
    }
    
    public void setName(String name) {
        this.name = name;
        log.info("修改用户对象:{}", this);
    }
}

Dans le code ci-dessus, nous utilisons l'annotation @Slf4j pour générer automatiquement un enregistreur pour la classe User. De cette façon, nous pouvons enregistrer les journaux de création et de modification des objets utilisateur dans le programme, ce qui est pratique pour le dépannage.
Par exemple, si vous souhaitez créer un objet Utilisateur avec l'ID 1, le nom "Zhang San" et l'âge de 18 ans, vous pouvez créer l'objet de la manière suivante :

User user = new User(1L, "张三", 18);

Si vous souhaitez modifier l'attribut name de cet objet, vous pouvez modifier la valeur de l'attribut des manières suivantes :

user.setName("李四");

Je suppose que tu aimes

Origine blog.csdn.net/m0_37742400/article/details/130521940
conseillé
Classement