image

Unlimited bootcamps and 750+ courses forever

70
%OFF
Uanderson Martins
Uanderson Martins27/10/2026 15:46
Share

Annotations em Java: Marcando o Seu Código de Maneira Inteligente

  • #Java
  • #Kotlin
  • #GitHub
  • #Git
  • #Gradle

Conteúdo:

1. Introdução

As anotações (Annotations) em Java são muito mais do que simples "marcadores" ou comentários avançados no código. Elas representam um recurso poderoso de metaprogramação, permitindo anexar metadados que podem ser lidos em tempo de compilação ou de execução.

Quando combinadas com os Annotation Processors (Processadores de Anotações), elas nos permitem gerar código automaticamente, inspecionar e validar classes, e eliminar código repetitivo (boilerplate) — um conceito amplamente utilizado por frameworks consagrados como Lombok, Spring Boot e Dagger.

Neste artigo, compartilho os conceitos fundamentais sobre anotações e mostro como configurei e executei a compilação do projeto annotation-processor da DIO.

2. Estrutura do Projeto

Para entender o fluxo completo de um processador de anotações, o repositório foi organizado em três módulos interdependentes:

  1. annotation: Módulo que define as anotações personalizadas do projeto.

  2. processor: Contém a classe que herda de AbstractProcessor, encarregada de ler as anotações e gerar o código em tempo de compilação.

  3. sample: Módulo de aplicação prática que consome as anotações e testa o resultado gerado.

3. Resolução de Desafios no Ambiente de Build

Durante o desenvolvimento e execução do projeto, deparei-me com inconformidades de versão entre o JDK local (Java 19) e o Java Toolchain definido nas configurações do Gradle.

PowerShell

# Sincronizando a variável JAVA_HOME com o JDK instalado
$jdkFolder = Get-ChildItem "C:\Program Files\Java" | Where-Object {$_.Name -like "jdk*"} | Select-Object -First 1 -ExpandProperty FullName
$env:JAVA_HOME = $jdkFolder

# Compilando os módulos de forma isolada e sem cache corrompido
.\gradlew clean build --no-daemon --refresh-dependencies

Com esses ajustes, a compilação retornou o status de BUILD SUCCESSFUL, integrando perfeitamente a geração do código ao fluxo do projeto.

4. Conclusão e Repositório

Dominar o funcionamento interno das annotations é um passo decisivo para quem deseja entender o que acontece "por baixo dos panos" nos principais frameworks do mercado e escrever código Java de forma mais inteligente e performática.

Você pode conferir todo o código-fonte, branches e commits do projeto diretamente no meu GitHub:

PowerShell

🔗 Repositório

Confira o código completo no GitHub:

👉 annotation-processor no GitHub

# Sincronizando a variável JAVA_HOME com o JDK instalado
$jdkFolder = Get-ChildItem "C:\Program Files\Java" | Where-Object {$_.Name -like "jdk*"} | Select-Object -First 1 -ExpandProperty FullName
$env:JAVA_HOME = $jdkFolder

# Compilando os módulos de forma isolada e sem cache corrompido
.\gradlew clean build --no-daemon --refresh-dependencies

image

Share
Recommended for you
CI&T - Java AI Copilot
Itaú - Java com Inteligência Artificial
Bootcamp NTT DATA: Backend Java com Spring AI
Comments (0)