Olá Tony, tudo bem?
A injeção por construtor é uma forma recomendada de realizar a injeção de dependências em uma aplicação Spring, pois torna o código mais legível e fácil de testar. No entanto, a anotação "@Autowired" é uma forma mais simples e rápida de realizar a injeção de dependências, especialmente em classes com muitos atributos.
A anotação "@RequiredArgsConstructor" é uma alternativa interessante para a injeção por construtor, pois ela gera automaticamente um construtor com todos os atributos marcados como "final". Isso torna o código mais limpo e legível, além de garantir que os atributos não serão modificados após a inicialização.
Quanto ao aviso exibido pelo IntelliJ, ele pode estar se referindo ao fato de que a injeção via anotação pode tornar o código mais difícil de testar, pois é necessário utilizar mocks para simular as dependências injetadas. No entanto, isso não significa que a injeção via anotação seja proibida ou inadequada em todos os casos.
Espero ter ajudado a esclarecer suas dúvidas. Se tiver mais alguma pergunta, é só perguntar!
bons estudos!