>Java >java지도 시간 >Bean으로 등록할 때 스프링 필터가 두 번 호출되는 이유는 무엇입니까?

Bean으로 등록할 때 스프링 필터가 두 번 호출되는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-09 15:55:12713검색

Why is my Spring Filter Invoked Twice When Registered as a Bean?

Spring Bean으로 등록 시 필터가 두 번 호출됨

문제:

필터 결과와 함께 @Autowire를 활용하려는 시도 예기치 않은 필터 이중 호출이 발생했습니다. 자세히 살펴보면 필터가 Bean으로 등록될 때 Spring 컨테이너가 이러한 추가 호출을 트리거하는 것으로 나타났습니다.

해결책:

이 문제를 해결하려면 다음 접근 방식 중 하나를 구현하는 것이 좋습니다.

  1. 자동 필터 비활성화 등록:

    필터를 빈으로 노출하지 말고 대신 Spring Security에 수동으로 등록하세요. 이렇게 하면 Spring Boot가 자동으로 필터를 두 번 등록하는 것을 방지할 수 있습니다.

  2. FilterRegistrationBean 사용:

    필터에 종속성 주입이 필요한 경우 다음과 같이 해야 합니다. 빈으로 등록되었습니다. 그러나 자동 등록을 방지하기 위해 "enabled" 속성을 false로 설정하여 FilterRegistrationBean을 사용할 수 있습니다. 구현 예:

@Bean
public FilterRegistrationBean registration(MyFilter filter) {
    FilterRegistrationBean<MyFilter> registration = new FilterRegistrationBean<>(filter);
    registration.setEnabled(false);
    return registration;
}

위 내용은 Bean으로 등록할 때 스프링 필터가 두 번 호출되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.