Ola Lucas.
A classe que você indica para ser injetado ela precisa ser gerenciado pelo container (com @Service ou @Repository por exemplo).
Imaginando um caso que você tenha uma classe principal, e você pede para injetar um objeto em seu construtor, essa classe a ser injetada precisa ter @Service ou @Repository. Caso ela não tenha um construtor definido, o container acionará o padrão e injeta o objeto na sua classe principal. Mas caso ela tenha um construtor com parâmetros, cada uma das classes dos parâmetros precisam também ser gerenciado pelo container, e então ele vai instanciá-las primeiro, injetar esses objetos no construtor e só depois passa a injetar o objeto na sua classe principal. É uma cascata de chamadas.
Ou seja, ter ou não construtor não afeta a DI, basta que as classes dos parâmetros também esteja gerenciada pelo container.