🚀 4.3 Produtividade Extrema com Lombok
Como vimos no capítulo anterior, nossas classes de domínio são extremamente limpas. O responsável por essa “mágica” é o Project Lombok, uma biblioteca que se tornou padrão na Engenharia de Elite para eliminar o ruído visual e o código repetitivo (boilerplate).
O Problema do Boilerplate
Em uma classe Java tradicional, para cada atributo, precisaríamos de:
- Getters e Setters.
equals()ehashCode().toString().- Construtores (Vazio e com todos os argumentos).
Isso resultaria em centenas de linhas de código que não agregam valor ao negócio e dificultam a manutenção.
O Arsenal Lombok no Green Dog
Utilizamos as seguintes anotações poderosas em nossas entidades:
@Data: Um atalho que combina@Getter,@Setter,@ToString,@EqualsAndHashCodee@RequiredArgsConstructor.@Builder: Implementa o padrão de projeto Builder, permitindo criar objetos de forma fluida:Cliente c = Cliente.builder().nome("Rodrigo").endereco("Sampa").build();
3. **`@NoArgsConstructor` / `@AllArgsConstructor`**: Essenciais para que o **Hibernate 6** e outras frameworks de reflexão consigam instanciar nossas classes corretamente.
```text
graph LR
subgraph java_tradicional [Java Tradicional]
A[Atributos] --> B[Getters/Setters]
B --> C[Equals/HashCode]
C --> D[ToString]
end
subgraph lombok_premium [Lombok Premium]
E[Atributos] --> F("@Data + @Builder")
end
TIP
O Lombok funciona durante o tempo de compilação. Ele injeta o bytecode necessário diretamente no arquivo
.class, mantendo seu arquivo.javaminimalista e focado na arquitetura.
Com nossas entidades leves e poderosas, estamos prontos para criar a camada de persistência.