Atualmente eu sou desenvolvedor .NET e já estou bem avançado, decidi estudar Spring para aumentar meu conhecimento e ter habilidades nessa duas grandes tecnologias.
No .NET fazemos a injeção de dependência usando o próprio construtor da classe e na classe Program.cs digitamos o seguinte código:
builder.Services.AddScoped<IMedicoRepository, MedicoRepository>();
Criamos uma interface com a assinatura dos métodos e a classe que implementa tais métodos.
Quando vi que o instrutor/professor usou a anotação Autowired resolvi pesquisar pois é novo para mim esse novo modo de injeção de dependência, ao pesquisar, vi vários sites não recomendando este uso e sim injeção por construtor mesmo.
A minha dúvida é a seguinte, isso de fato é um malefício para projetos grandes? Eu poderia fazer da seguinte forma abaixo?
private final IMedicoRepository repository;
public MedicoController(IMedicoRepository repository) {
this.repository = repository;
}