19 - Injeção de dependências via construtor

A injeção de dependência via construtor é considerada uma das formas mais recomendadas, pois:

  • Garante que a dependência seja obrigatória no momento da criação do objeto.
  • Facilita a imutabilidade dos atributos.
  • É mais adequada para testes unitários, pois permite passar dependências diretamente pelo construtor.

Exemplo no Projeto


private final PessoaRepositorio pr;

@Autowired
public PessoaControle(PessoaRepositorio pr) {
    this.pr = pr;
}

Explicação

  • O atributo pr é declarado como final, reforçando que será atribuído apenas uma vez.
  • O Spring identifica o construtor e injeta automaticamente a dependência PessoaRepositorio.
  • Se a classe possui apenas um construtor, a anotação @Autowired pode ser omitida, pois o Spring já o utiliza por padrão.

Vantagens

  • Maior segurança quanto à inicialização da dependência.
  • Evita NullPointerException em caso de não injeção.
  • Melhor prática recomendada pela equipe do Spring e pela comunidade.

Dica: Sempre que possível, prefira a injeção via construtor, especialmente em projetos maiores e com múltiplas dependências.

Clique aqui para se tornar membro do canal

Abaixo segue nossa aula no YouTube: