image

Unlimited bootcamps and 750+ courses forever

70
%OFF
Article image
Ellen Silva
Ellen Silva31/08/2026 11:39
Share
IBM Bob: IA de Nível Empresarial para Desenvolvedores e Tech LeadersRecommended for youIBM Bob: IA de Nível Empresarial para Desenvolvedores e Tech Leaders

Lombok deixa seu Java mais limpo, mas esconde mais do que parece

    Leia. Curta. Comente. Compartilhe.

    ...

    Entenda como o Lombok reduz aquele código repetitivo no Java e o que anotações como @Getter, @Setter, @Data e @Builder realmente fazem por você.

    ...

    LOMBOK

    Quando você começa a programar em Java, algumas coisas se repetem tanto que quase viram parte da decoração:

    Getter.

    Setter.

    Construtor.

    Mais Getter.

    Mais Setter.

    Outro construtor...

    Até que aparece o Lombok e diz:

    “Deixa essa parte comigo.”

    Parece ótimo. E realmente pode ser.

    Mas é importante entender o que ele está fazendo enquanto você aproveita a mágica.

    Pense em uma máquina de lavar louça

    Você coloca os pratos, aperta um botão e pronto.

    Não precisa lavar cada garfo manualmente.

    O Lombok funciona de um jeito parecido.

    Imagine esta classe:

    
    public class Cliente {
    
      private String nome;
      private String email;
    
      public String getNome() {
          return nome;
      }
    
      public void setNome(String nome) {
          this.nome = nome;
      }
    
      public String getEmail() {
          return email;
      }
    
      public void setEmail(String email) {
          this.email = email;
      }
    }
    
    

    Funciona.

    Mas só olhando já dá aquela vontade de perguntar:

    “Eu realmente preciso escrever tudo isso toda vez?”

    Com Lombok:

    
    @Getter
    @Setter
    public class Cliente {
    
      private String nome;
      private String email;
    }
    
    

    Pronto.

    Os getters e setters continuam existindo. Você só não precisou escrever cada um manualmente.

    E aquelas anotações todas?

    O Lombok possui várias, mas algumas aparecem bastante.

    @Getter cria getters.

    @Setter cria setters.

    @NoArgsConstructor cria um construtor sem argumentos.

    @AllArgsConstructor cria um construtor com os campos.

    E existe o famoso:

    
    @Data
    
    

    Ele reúne várias coisas automaticamente, como getters, setters, toString(), equals() e hashCode().

    Parece aquele botão:

    “Resolve tudo aí para mim.”

    Só que justamente por fazer bastante coisa, vale entender se você realmente precisa de tudo aquilo.

    O @Builder também facilita bastante

    Imagine criar um objeto assim:

    
    Cliente cliente = Cliente.builder()
          .nome("Ana")
          .email("ana@email.com")
          .build();
    
    

    O @Builder permite construir objetos dessa forma.

    Além de ficar mais fácil de ler, você consegue identificar rapidamente qual valor pertence a cada campo.

    É quase como preencher uma ficha:

    Nome: Ana

    E-mail: ana@email.com

    Em vez de jogar vários valores dentro de um construtor e depois tentar lembrar quem é quem.

    Mas cuidado com o piloto automático

    O problema não é usar Lombok.

    O problema é sair colocando:

    
    @Data
    
    

    em todas as classes sem pensar.

    Às vezes você não quer permitir que determinado campo tenha um setter.

    Em outras situações, a forma como equals() e hashCode() são gerados pode importar.

    Por isso:

    Lombok economiza código, mas não elimina a necessidade de entender o código que está sendo gerado.

    A máquina lava a louça.

    Mas ainda é bom saber que não dá para colocar qualquer coisa lá dentro.

    3 coisas para lembrar ao usar Lombok

    1. Saiba o que cada anotação gera

    Antes de usar @Data, por exemplo, entenda quais métodos estão sendo criados.

    Não precisa decorar tudo. Só não use no escuro.

    2. Use apenas o que você precisa

    Se você só precisa de getters:

    
    @Getter
    
    

    Talvez não exista motivo para liberar setters para todos os campos também.

    3. Menos código não significa menos responsabilidade

    O código ficou menor.

    Ótimo.

    Mas as decisões sobre como aquele objeto deve funcionar continuam sendo suas.

    Lombok não é mágica

    Quando você entende o que acontece por trás das anotações, Lombok deixa de parecer mágica e passa a ser o que realmente é:

    Uma ferramenta para eliminar bastante código repetitivo.

    Ele pode deixar suas classes menores, mais fáceis de ler e evitar aquele festival de getters e setters.

    Só não vale cair na armadilha:

    “Não sei exatamente o que essa anotação faz, mas o projeto compilou, então deixa aí.”

    Seu código merece um pouquinho mais de carinho.

    >> Qual anotação do Lombok você mais usa: @Data, @Getter, @Setter ou @Builder?

    __

    Indicação de livro

    Effective Java

    Autor: Joshua Bloch

    Não é um livro sobre Lombok, mas ajuda muito a entender como objetos Java devem ser construídos e quais decisões existem por trás de coisas que ferramentas como Lombok acabam automatizando. É uma ótima referência para ir consultando conforme você evolui no Java.

    Share
    Recommended for you
    CI&T - Java AI Copilot
    Itaú - Java com Inteligência Artificial
    Nublify - Primeiros passos em IA e Cloud
    Comments (0)
    Recommended for youIBM Bob: IA de Nível Empresarial para Desenvolvedores e Tech Leaders