Lombok pour Java : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Lombok et pourquoi en a-t-on besoin ?

\n\n

Lombok (Project Lombok) est une bibliothèque pour le langage Java qui permet de réduire considérablement le volume de code standard (boilerplate code). En Java, les développeurs écrivent souvent des constructions répétitives : getters, setters, constructeurs, méthodes toString(), equals() et hashCode(). Lombok génère automatiquement ce code lors de la phase de compilation à l'aide d'annotations.

\n\n

L'objectif principal de Lombok est de rendre le code plus propre, plus court et plus facile à maintenir. Au lieu d'écrire des dizaines de lignes de code monotone, vous ajoutez simplement une annotation, et tout est généré automatiquement. Cela est particulièrement utile pour les classes de modèles (POJO/DTO), où le code standard représente jusqu'à 70 % du volume total.

\n\n

Lombok n'est pas un framework d'exécution — il fonctionne exclusivement lors de la phase de compilation. Le code généré est intégré dans le bytecode, donc aucune dépendance à Lombok n'est nécessaire à l'exécution.

\n\n

Installation de Lombok

\n\n

Lombok s'ajoute comme une dépendance standard dans votre projet. Comme il s'agit d'une bibliothèque Java, l'installation via pip ou npm ne s'applique pas. Voici les principales méthodes d'installation :

\n\n

Maven

\n

Ajoutez dans pom.xml :

\n
<dependency>\n    <groupId>org.projectlombok</groupId>\n    <artifactId>lombok</artifactId>\n    <version>1.18.30</version>\n    <scope>provided</scope>\n</dependency>
\n\n

Gradle

\n

Ajoutez dans build.gradle :

\n
dependencies {\n    compileOnly 'org.projectlombok:lombok:1.18.30'\n    annotationProcessor 'org.projectlombok:lombok:1.18.30'\n}
\n\n

IntelliJ IDEA

\n

Dans IntelliJ IDEA, vous devez installer le plugin Lombok (Settings → Plugins → Marketplace → Lombok) et activer le traitement des annotations (Settings → Build, Execution, Deployment → Compiler → Annotation Processors → Enable annotation processing).

\n\n

Eclipse

\n

Téléchargez le fichier JAR de Lombok depuis le site officiel et exécutez-le en double-cliquant — l'installateur s'ouvrira, trouvera automatiquement votre IDE et configurera les paramètres nécessaires.

\n\n

Démarrage rapide avec un exemple de code

\n\n

Considérons une classe Java typique avant et après l'utilisation de Lombok.

\n\n

Sans Lombok (approche traditionnelle) :

\n
public class User {\n    private String name;\n    private int age;\n    private String email;\n\n    public User() {}\n\n    public User(String name, int age, String email) {\n        this.name = name;\n        this.age = age;\n        this.email = email;\n    }\n\n    public String getName() { return name; }\n    public void setName(String name) { this.name = name; }\n    public int getAge() { return age; }\n    public void setAge(int age) { this.age = age; }\n    public String getEmail() { return email; }\n    public void setEmail(String email) { this.email = email; }\n\n    @Override\n    public String toString() {\n        return "User{name='" + name + "', age=" + age + ", email='" + email + "'}";\n    }\n\n    @Override\n    public boolean equals(Object o) {\n        if (this == o) return true;\n        if (o == null || getClass() != o.getClass()) return false;\n        User user = (User) o;\n        return age == user.age && Objects.equals(name, user.name) && Objects.equals(email, user.email);\n    }\n\n    @Override\n    public int hashCode() {\n        return Objects.hash(name, age, email);\n    }\n}
\n\n

Avec Lombok :

\n
import lombok.*;\n\n@Data\n@NoArgsConstructor\n@AllArgsConstructor\npublic class User {\n    private String name;\n    private int age;\n    private String email;\n}
\n\n

Seulement 5 lignes au lieu de 50 ! Le code est devenu concis, lisible et facile à maintenir.

\n\n

Annotations et méthodes principales de Lombok

\n\n

Voici les annotations clés de Lombok. Chacune d'elles génère un ensemble spécifique de

Recommendations