Como usar o Lombok em projetos Java

Veja neste post como mostrar como utilizar o Lombok em seu projeto Java, para permitir um código mais limpo e enxuto

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 19313 Visualizações

O Lombok é um framework para Java que permite escrever código eliminando a verbosidade. Seu uso permite gerar em tempo de compilação os métodos getters e setters, métodos construtores, padrão builder e muito mais.

Já falei em outro post: Por que eu uso o Lombok, neste post vou focar em como usar o lombok em projetos Java.

Intellij IDEA e Eclipse

Vamos iniciar falando sobre as IDEs. Como mencionei antes, o lombok gera algumas partes de código em tempo de compilação, como é o caso dos getters e setters. Porém, algumas vezes é necessário usar os métodos getters e setters gerados, durante o desenvolvimento, sem que fique mostrando um erro em sua IDE.

E a boa notícia é que as IDEs permitem fazer isso. Mas para que funcione é preciso instalar o plugin do Lombok em sua IDE. Para isso deixei dois links úteis abaixo:

Instalar o plugin do Lombok no Intellij IDE

Instalar o plugin do Lombok no Eclipse



Lombok no projeto

Com o plugin do Lombok instalado em sua IDE, agora basta adicionar o plugin do Lombok em seu projeto.

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

Para verificar se têm novas versões disponíveis, acesse: https://mvnrepository.com/artifact/org.projectlombok/lombok


Principais casos de uso do Lombok

Agora que sua IDE e seu projeto estão devidamente configurados, já é possível iniciar o uso do Lombok.

Lombok e Getters/Setters

Um caso de uso típico é a geração dos getters e setters. Como o lombok trabalha com anotações, para gerar os getters e setters basta anotar a classe com @Getter e @Setter. Veja:

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Post {
   private String titulo;
   // [...]
}

Note que você pode usar o .getTitulo() e .setTitulo(“”), sem a necessidade de implementar manualmente.

Ou ainda, caso queira gerar os getters e setters apenas de um atributo, pode anotar o próprio atributo. Veja:

import lombok.Getter;
import lombok.Setter;

public class Post {

   @Getter
   @Setter
   private String titulo;

   private String descricao;

   // [...]
}

Note que neste caso o atributo titulo terá os métodos getters e setters já o atributo descricao não.

Lombok @EqualsAndHashCode

Outro caso de uso é para gerar os métodos equals e hashCode apenas anotando com @EqualsAndHashCode, veja:

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class Post {

   private String titulo;

}

Lombok @ToString

Mais um caso de uso útil para gerar o método toString, apenas anotando a classe com @ToString, veja:

import lombok.ToString;

@ToString
public class Post {

   private String titulo;

}

Lombok @Data

Então para gerar os métodos getters, setters, equals, hashCode e o toString preciso sempre adicionar todas as anotações a classe?

A resposta é não.

Se você quer que seu classe esteja completa, para simplificar, o Lombok fornece a anotação @Data. Esta anotação já fornece todos estes recursos, veja:

import lombok.Data;

@Data
public class Post {

   private String titulo;

}

Mais opções do Lombok

O lombok ainda fornece uma série de outras opções, veja abaixo outras anotações úteis do Lombok:

AnotaçãoFunção
@BuilderPara usar o padrão Builder em sua classe
@AllArgsConstructorPara criar um construtor com todos os atributos
@NoArgsConstructorPara criar um construtor vazio
@RequiredArgsConstructorGera um construtor com todos os campos requeridos

Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!