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
Última atualização em: | 20004 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:
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 atributodescricao
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ção | Função |
---|---|
@Builder | Para usar o padrão Builder em sua classe |
@AllArgsConstructor | Para criar um construtor com todos os atributos |
@NoArgsConstructor | Para criar um construtor vazio |
@RequiredArgsConstructor | Gera um construtor com todos os campos requeridos |
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.