Lombok para Java: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Lombok y para qué sirve?

\n\n

Lombok (Project Lombok) es una biblioteca para el lenguaje Java que permite reducir significativamente la cantidad de código repetitivo (boilerplate code). En Java, los desarrolladores suelen escribir construcciones repetitivas: getters, setters, constructores, métodos toString(), equals() y hashCode(). Lombok genera automáticamente este código en la etapa de compilación mediante anotaciones.

\n\n

El objetivo principal de Lombok es hacer que el código sea más limpio, más corto y más fácil de mantener. En lugar de escribir decenas de líneas de código repetitivo, simplemente agrega una anotación y todo se genera automáticamente. Esto es especialmente útil para clases modelo (POJO/DTO), donde el código repetitivo constituye hasta el 70% del volumen total.

\n\n

Lombok no es un framework en tiempo de ejecución: funciona exclusivamente en la etapa de compilación. El código generado se integra en el bytecode, por lo que en tiempo de ejecución no se requieren dependencias de Lombok.

\n\n

Instalación de Lombok

\n\n

Lombok se agrega como una dependencia normal en su proyecto. Dado que es una biblioteca de Java, no se utiliza la instalación mediante pip o npm. Estas son las principales formas de instalación:

\n\n

Maven

\n

Agregue en 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

Agregue en 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

En IntelliJ IDEA es necesario instalar el plugin Lombok (Settings → Plugins → Marketplace → Lombok) y habilitar el procesamiento de anotaciones (Settings → Build, Execution, Deployment → Compiler → Annotation Processors → Enable annotation processing).

\n\n

Eclipse

\n

Descargue el archivo JAR de Lombok desde el sitio web oficial y ejecútelo con doble clic; se abrirá un instalador que encontrará su IDE y configurará los ajustes necesarios.

\n\n

Inicio rápido con un ejemplo de código

\n\n

Veamos una clase típica de Java antes y después de usar Lombok.

\n\n

Sin Lombok (enfoque tradicional):

\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

Con 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

¡Solo 5 líneas en lugar de 50! El código se ha vuelto conciso, legible y fácil de mantener.

\n\n

Anotaciones y métodos principales de Lombok

\n\n

A continuación se presentan las anotaciones clave de Lombok. Cada una genera un determinado

Recommendations