DEV Community

Cover image for 📌 Tudo sobre Anotações (@Annotations) no Java e Spring! 🚀
André Victor
André Victor

Posted on

📌 Tudo sobre Anotações (@Annotations) no Java e Spring! 🚀

Se você já programou em Java, com certeza se deparou com aquelas misteriosas palavras começando com @. Mas afinal, o que são essas anotações (annotations) e por que são tão importantes? 🤔

✅ O que são anotações?
As anotações são uma forma poderosa de fornecer metadados ao código-fonte. Elas não afetam diretamente a lógica da aplicação, mas são utilizadas para informar ao compilador, ao Spring ou a outras ferramentas como um determinado elemento (classe, método ou atributo) deve ser tratado.

Elas podem ser usadas para:
✅ Configuração e injeção de dependências no Spring
✅ Mapear entidades para bancos de dados com JPA
✅ Definir regras de validação
✅ Especificar como dados são serializados para JSON
✅ Executar testes automatizados
✅ Agendar tarefas e muito mais!

🏗️ Exemplos práticos
Veja algumas anotações comuns e como elas são usadas:

📌 Injeção de dependência no Spring

@Service
public class MeuServico {
    @Autowired
    private MeuRepositorio repositorio;
}
Enter fullscreen mode Exit fullscreen mode

O @Service indica que a classe é um serviço gerenciado pelo Spring, e @Autowired injeta automaticamente uma instância do repositório.

📌 Mapeando uma entidade para o banco de dados

@Entity
@Table(name = "usuarios")
public class Usuario {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
}
Enter fullscreen mode Exit fullscreen mode

Aqui, @Entity define que a classe será mapeada para uma tabela no banco, e @id define a chave primária.

📌 Criando um endpoint REST

@RestController
@RequestMapping("/usuarios")
public class UsuarioController {
    @GetMapping("/{id}")
    public Usuario buscarPorId(@PathVariable Long id) {
        return servico.buscarPorId(id);
    }
}
Enter fullscreen mode Exit fullscreen mode

O @RestController transforma a classe em um controlador REST, e @GetMapping("/{id}") define um endpoint para buscar usuários pelo ID.

🚀 Conclusão

As anotações tornam o código mais organizado, conciso e padronizado. No Spring, elas são essenciais para reduzir a necessidade de configurações manuais e deixar a aplicação mais dinâmica.

E aí, qual anotação você mais usa no seu dia a dia? Comente aqui! ⬇️💬

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs