Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Por que injeção da dependência TokenService?

Olá! Fico em dúvida sobre a necessidade de fazer a injeção de dependência (via construtor) da classe TokenService dentro da classe AutenticacaoViaTokenFilter. Porque não podemeos simplesmente declarar uma variável do tipo AutenticacaoViaTokenFilter e instanciá-la? Em outras palavaras, por que não fazer

private TokenService tokenService = new TokenService();

em vez de

private TokenService tokenService;

    public AutenticacaoViaTokenFilter(TokenService tokenService) {
        this.tokenService = tokenService;
    }

Provavelmente ainda não domino totalmente o conceito de injeção de dependências, mas a dúvida fica....

2 respostas
solução!

Oi Sergio,

Se voce instanciar manualmente a classe(new TokenService()), o Spring nao vai injetar nenhuma das dependencias internas dela.

E a classe TokenService tem dois atributos que precisam ser injetados pelo Spring: expiration e secret.

O Spring somente consegue injetar atributos em uma classe se ele for o responsavel pela instanciacao dela.

Bons estudos!

Ok, entendi. Não tinha dado atenção aos atributos expiracao e secret. Valeu!