O que é Anotação (Annotation)
Anotação (annotation) é um metadado declarativo adicionado ao código-fonte que fornece informações adicionais para o compilador, ferramentas de build ou frameworks em tempo de execução. Diferente de comentários, anotações são processadas programaticamente — elas modificam o comportamento do código sem alterar sua lógica direta.
Anotações são amplamente usadas em frameworks modernos como Spring (Java), Hibernate, JUnit, JPA, e em decorators de TypeScript e Python. Permitem configuração declarativa, validação, mapeamento objeto-relacional e injeção de dependência sem precisar escrever código verboso.
Tipos de anotações
- Marker: Anotações sem parâmetros (ex: @Override)
- Single-value: Aceita um único valor (ex: @SuppressWarnings(“unchecked”))
- Multi-value: Aceita múltiplos parâmetros (ex: @RequestMapping(value=”/user”, method=GET))
- Customizadas: Criadas pelo desenvolvedor para necessidades específicas
Casos de uso comuns
- Spring Framework: @Autowired, @Component, @Service
- JPA/Hibernate: @Entity, @Table, @Column
- JUnit: @Test, @Before, @After
- Validação: @NotNull, @Email, @Min, @Max
As anotações trabalham junto com abstração e APIs para criar código mais declarativo e legível.
Leia o artigo completo: Anotação na programação: como funcionam annotations em Java, Spring e mais

