Lombok para Java: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Lombok e para que serve?

\n\n

Lombok (Project Lombok) é uma biblioteca para a linguagem Java que permite reduzir significativamente a quantidade de código boilerplate. Em Java, os desenvolvedores frequentemente escrevem construções repetitivas: getters, setters, construtores, métodos toString(), equals() e hashCode(). O Lombok gera automaticamente esse código em tempo de compilação usando anotações.

\n\n

O principal objetivo do Lombok é tornar o código mais limpo, mais curto e mais fácil de manter. Em vez de escrever dezenas de linhas de código repetitivo, você simplesmente adiciona uma anotação, e tudo é gerado automaticamente. Isso é especialmente útil para classes modelo (POJO/DTO), onde o código boilerplate pode representar até 70% do volume total.

\n\n

Lombok não é um framework em tempo de execução — ele funciona exclusivamente em tempo de compilação. O código gerado é incorporado ao bytecode, portanto, em tempo de execução, nenhuma dependência do Lombok é necessária.

\n\n

Instalação do Lombok

\n\n

Lombok é adicionado como uma dependência comum ao seu projeto. Como é uma biblioteca Java, a instalação via pip ou npm não se aplica. Aqui estão as principais formas de instalação:

\n\n

Maven

\n

Adicione ao 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

Adicione ao 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

No IntelliJ IDEA, é necessário instalar o plugin Lombok (Settings → Plugins → Marketplace → Lombok) e ativar o processamento de anotações (Settings → Build, Execution, Deployment → Compiler → Annotation Processors → Enable annotation processing).

\n\n

Eclipse

\n

Baixe o arquivo JAR do Lombok do site oficial e execute-o com um duplo clique — o instalador será aberto, encontrará sua IDE e configurará as definições necessárias.

\n\n

Início rápido com exemplo de código

\n\n

Vamos considerar uma classe Java típica antes e depois do uso do Lombok.

\n\n

Sem Lombok (abordagem 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

Com 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

Apenas 5 linhas em vez de 50! O código ficou conciso, legível e fácil de manter.

\n\n

Principais anotações e métodos do Lombok

\n\n

Abaixo estão as principais anotações do Lombok. Cada uma delas gera um conjunto específico

Recommendations