17 - Injeção de dependências via atributo

Uma das práticas mais comuns no Spring é a injeção de dependências. Isso significa que o próprio Spring se encarrega de fornecer os objetos que uma classe precisa para funcionar, sem que seja necessário instanciá-los manualmente.

Para isso, utilizamos a anotação @Autowired. Veja um exemplo baseado em nosso projeto:


@Autowired
private PessoaRepositorio pr;

Como funciona

Nesse exemplo, a dependência PessoaRepositorio será automaticamente instanciada pelo Spring e atribuída ao atributo pr.

  • O Spring analisa todas as classes com @Component, @Service, @Repository, entre outras.
  • Quando encontra um campo anotado com @Autowired, ele procura o tipo correspondente e injeta o objeto pronto.
  • Esse processo é chamado de Inversão de Controle, pois quem controla a criação dos objetos é o próprio Spring.

Vantagens

  • Redução de acoplamento entre classes.
  • Facilidade de manutenção e testes.
  • Padronização no desenvolvimento com Spring.

Dica: A injeção de dependência também pode ser feita via construtor ou método set, mas a forma mais rápida e direta é via atributo, como mostrado acima.

Clique aqui para se tornar membro do canal

Abaixo segue nossa aula no YouTube: