4
respostas

Nova versão do Spring Security.

Não entendi pq no método encoder(), filterChain e websecurity eu tenho que anotar com o @Bean emcima, pois eu não to chamando esses métodos em nenhuma outra classe. O método authenticationManager tudo bem, eu utilizo no controller para autenticar mas os outros métodos citados, não preciso de ponto de injeção para eles.

4 respostas

Oi Victor,

Na versão anterior a classe de segurança herdava de uma classe do Spring e os métodos de configuração eram sobrescritas de métodos herdados, como retorno void.

Na nova versão a classe de configurações de segurança não usa mais herança e por isso precisamos expor os objetos para o próprio Spring. Não vamos injetar tais classes em nenhuma de nossas classes da aplicação, mas o Spring precisa que tais beans sejam expostos com a anotação `@Bean.

Pq precisa expor para o Spring sendo que não tem ponto de injeção de dependencia desses métodos?

Aluguém poderia responder?

Internamente o Spring vai ler esses objetos. Na aplicação não será injetado em nenhuma das classes, mas nas classes internas do Spring ele vai precisar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software