Maison >Java >javaDidacticiel >Comment utiliser le projet Lombok
Project Lombok est une bibliothèque Java qui permet de réduire le code passe-partout en générant automatiquement des méthodes et des annotations couramment utilisées. Il fournit des annotations qui peuvent simplifier et réduire la verbosité de vos classes Java, rendant votre code plus lisible et maintenable.
Réduire le code passe-partout :
Améliorer la lisibilité :
Maintenabilité :
Style de codage cohérent :
Maven :
Ajoutez la dépendance Lombok à votre fichier pom.xml :
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency>
Gradle :
Ajoutez la dépendance Lombok à votre fichier build.gradle :
dependencies { compileOnly 'org.projectlombok:lombok:1.18.22' annotationProcessor 'org.projectlombok:lombok:1.18.22' }
La plupart des IDE comme IntelliJ IDEA et Eclipse prennent en charge Lombok, mais vous devez installer le plugin Lombok pour l'activer.
IDÉE IntelliJ :
Éclipse :
Voici quelques annotations Lombok couramment utilisées :
@Getter et @Setter:
Génère des méthodes getter et setter pour les champs de votre classe.
import lombok.Getter; import lombok.Setter; @Getter @Setter public class User { private Long id; private String name; private String email; }
@ToString :
Génère une méthode toString() pour votre classe.
import lombok.ToString; @ToString public class User { private Long id; private String name; private String email; }
@EqualsAndHashCode :
Génère les méthodes equals() et hashCode() pour votre classe.
import lombok.EqualsAndHashCode; @EqualsAndHashCode public class User { private Long id; private String name; private String email; }
@NoArgsConstructor, @AllArgsConstructor et @RequiredArgsConstructor :
Génère des constructeurs pour votre classe.
import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.RequiredArgsConstructor; @NoArgsConstructor @AllArgsConstructor @RequiredArgsConstructor public class User { private Long id; private final String name; private final String email; }
@data:
Un raccourci pratique qui regroupe les fonctionnalités de @ToString, @EqualsAndHashCode, @Getter sur tous les champs et @Setter sur tous les champs non finaux, et @RequiredArgsConstructor.
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
Voici un exemple de cours avant et après utilisation de Lombok :
Sans Lombok :
public class User { private Long id; private String name; private String email; public User() {} public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", email='" + email + '\'' + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user = (User) o; return Objects.equals(id, user.id) && Objects.equals(name, user.name) && Objects.equals(email, user.email); } @Override public int hashCode() { return Objects.hash(id, name, email); } }
Avec Lombok:
import lombok.Data; @Data public class User { private Long id; private String name; private String email; }
En intégrant Lombok dans votre projet, vous pouvez simplifier considérablement votre code et vous concentrer davantage sur la logique métier plutôt que d'écrire du code passe-partout répétitif.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!