Filter wird zweimal aufgerufen, wenn Sie sich als Spring Bean registrieren.

Ich möchte benutzen@Autowire mit einerFilter. Also definiere ich meinen Filter imSecurityConfig wie nachstehend

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
        http.addFilterBefore(getA(), BasicAuthenticationFilter.class);
        http.csrf().disable();
    }

    @Bean
    public A getA(){
        return new A();
    }

Dieser FilterA erweitert Spring'sGenericFilterBean.

Ich erhalte weniger als die Ausgabe, wenn ich den Controller aufrufe, der die Filtertreffer zweimal anzeigt.

filter A before
filter A before
mycontroller invoke
filter A after
filter A after

Meine Beobachtung ist, dass dieser zusätzliche Aufruf mit dem Spring-Container aufgerufen wird, da, wenn der Filter nicht als Bean registriert wird, er nur einmal Treffer erhält. Was ist der Grund und wie kann ich das beheben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage