Como usar o Lombok em projetos Java
O Lombok é um framework para Java que permite escrever código eliminando a verbosidade, o que permite ganhar tempo de desenvolvimento para o que realmente é importante. Seu uso permite gerar em tempo de compilação os métodos getters e setters, métodos construtores, padrão builder e muito mais.
Exemplo básico
public class Pessoa{
private Long id;
private String nome;
private String email;
private String senha;
public Usuario(Long id, String nome, String email, String senha) {
this.id = id;
this.nome = nome;
this.email = email;
this.senha = senha;
}
public Pessoa() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
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;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
@Override
public String toString() {
return super.toString();
}
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
}
Esse é uma clássica básica e qualquer projeto, contudo se utilizarmos lombok teremos esse aspecto no código final:
import lombok.*;
@Getter
@Setter
@EqualsAndHashCode
@AllArgsConstructor
@NoArgsConstructor
public class Pessoa{
private Long id;
private String nome;
private String email;
private String senha;
}
Temos a mesma funcionalidade.
Processo de instalação no Eclipse
Instalar o plugin do Lombok no Eclipse é simples. Para isso primeiro precisa baixar o .jar do lombok no site ou no repositório maven. Para este caso vou baixar do repositório maven disponível no link:
https://mvnrepository.com/artifact/org.projectlombok/lombok
Agora com o .jar do lombok baixado, dê um duplo clique para abrir e seguir a instalação.
Próximo passo é inserir o Lombok no projeto Java, no caso do Maven:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
Clique sobre Run/Maven/ Install / Update e pronto. Reinicie o Eclipse e já vai poder usar o lombok em seus projetos
Outros exemplos de uso do Lombok
- Lombok @EqualsAndHashCode : Outro caso de uso é para gerar os métodos equals e hashCode apenas anotando com @EqualsAndHashCode.
- Lombok @ToString: Mais um caso de uso útil para gerar o método toString, apenas anotando a classe com @ToString.
- Lombok @Data: 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
Conclusão
O Projeto Lombok é leve, prático e não exibe o código na cara como muitos outros fazem. Particularmente, constitui um projeto interessante que merece ao mínimo uma chance e a efetuação de testes. Casos de uso do projeto com outros frameworks como Hibernate, JPA e JSF comprovam que o mesmo foi bem recepcionado pela comunidade e pode ser aceito em projetos que você mesmo venha a trabalhar. Este artigo esta sua versão inicial ou seja irá sofrer alterações futuras. Existe muita coisa a falar sobre Lombok.
Referencias
- https://projectlombok.org/
- https://mvnrepository.com/artifact/org.projectlombok/lombok
- https://medium.com/collabcode/projeto-lombok-escrevendo-menos-c%C3%B3digo-em-java-8fc87b379209
- https://www.devmedia.com.br/uma-visao-sobre-o-projeto-lombok/28321
- https://www.baeldung.com/intro-to-project-lombok
Por Alex José Silva
Sou Analista de Sistemas e especialista em desenvolvimento de software com tecnologias abertas. Ao longo da minha carreira contribui na manutenção de sistemas para gestão empresarial em diversos tipos de segmentos: Hospitais, Mineradoras, Transportadoras e empresas de Logística em Cadeia de Mantimentos. Atuante em grupos de desenvolvedores no estado de Pernambuco: SalesForce, Chatbot Pernambuco, JUG-PE/Usuários Java de Pernambuco, Facebook Developer Circle Recife, GDG Recife, FEMUGPE - Front-End, IA_PE. Sou um experiente participante de Hackathons, GameJans e Startup Weekend. Acredito na cultura de inovação e empreendedorismo.