跳到主要内容

拦截器

DeepSeek V3 中英对照 Interceptors

你可以注册拦截器以应用于传入的请求,如下例所示:

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LocaleChangeInterceptor());
}
}
java
注意

拦截器并不理想地适合作为安全层,因为它可能与带注解的控制器路径匹配不匹配。通常,我们建议使用 Spring Security,或者与 Servlet 过滤器链集成的类似方法,并尽可能早地应用。

备注

XML 配置将拦截器声明为 MappedInterceptor Bean,这些拦截器随后会被任何 HandlerMapping Bean 检测到,包括来自其他框架的 HandlerMapping Bean。相比之下,Java 配置仅将拦截器传递给它管理的 HandlerMapping Bean。要在 Spring MVC 和其他框架的 HandlerMapping Bean 之间重用相同的拦截器,可以通过 MVC Java 配置,要么声明 MappedInterceptor Bean(并且不要在 Java 配置中手动添加它们),要么在 Java 配置和其他 HandlerMapping Bean 中都配置相同的拦截器。