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

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

DDD
풀어 주다: 2024-12-09 15:55:12
원래의
717명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿