Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Injeção de dependências.

Olá, sei que a pergunta está na aula errada, porém preciso fazê-la mesmo assim.... Estou com muitas dúvidas quanto ao @AutoWired, anteriormente havia assinado um outro curso em que o professor passou que o @AutoWired devia ser usado somente em casos que o framework se encarrega de instanciar a classe, que, segundo ele, seria o contexto de classes com a anotação @RestController, por exemplo. Porém, vejo que adiante, todas as classes Services utilizam para instanciar outras services e também repositories, se puder me explicar o porque disso e mais um pouco sobre o @autowired, ficaria agradecido.

1 resposta
solução!

Oi!

O @Autowired serve para indicar ao Spring que ele será responsável por instanciar um atributo de uma classe. Seja essa classe um controller, service, etc.

Mas para que ele consiga instanciar a classe, é necessário que o Spring conheça tal classe sendo injetada. Ele "conhecerá" essa classe se ela estiver anotada com alguma anotação dele (@Controller, @Service, etc.)

No geral nas aplicações com Spring não instanciamos quase nenhuma classe, pois sempre que precisamos utilizar alguma outra classe, basta declara-lá como atributo e anotar com @Autowired, para que o Spring se encarrega de instanciar.