
15 - Autowired
Nessa décima quinta etapa do tutorial de criando APIs com Spring Boot, iremos implentar a annotation @Autowired, responsável pela injeção de dependência.
O que é injeção de dependência?
Injeção de dependências é um padrão de desenvolvimento adotado por vários frameworks, quando é necessário manter o baixo nível de acoplamento e a alta coesão em um projeto, vamos compreender melhor esses conceitos:
- Baixo acoplamento: Uma classe não deve depender exclusivamente de outra para o seu funcionamento
- Alta coesão: Quando uma classe é designada para realizar ações específicas. Vamos supor que precisamos manipular data e hora, se formos trabalhar todas as ações em uma só classe, teremos uma baixa coesão. Caso separarmos em duas classes, sendo elas Data e Hora por exemplo, estaremos implementando o conceito de alta coesão
Vale destacar que a annotation @Autowired fará com que o objeto seja instanciado pelo Spring ao executar o projeto, fazendo com que o desenvolvedor não precise mais se preocupar com isso, garantindo uma melhor performance do sistema.
Para implementar o @Autowired em nosso projeto, abra o arquivo de controle e antes das rotas implemente o seguinte código:

Se ficar com alguma dúvida no processo de implementação do @Autowired, fique à vontade para assistir o vídeo abaixo: