spring3.x升级 5.x 后HandlerInterceptorAdapter 弃用了
时间: 2024-05-04 07:20:16 浏览: 144
是的,Spring 5.x 中已经废弃了 HandlerInterceptorAdapter 类,替代它的是 HandlerInterceptor 接口。
HandlerInterceptor 接口提供了三个方法,分别是 preHandle、postHandle 和 afterCompletion,它们分别在处理器执行前、执行后和视图渲染后被调用。
如果你想要在 Spring 5.x 中实现拦截器,你可以创建一个实现 HandlerInterceptor 接口的类,然后实现其中的方法。然后在 WebMvcConfigurer 中注册你的拦截器即可。
例如,以下是一个简单的拦截器示例:
```java
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 在处理器执行前被调用
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 在处理器执行后,视图渲染前被调用
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 在视图渲染后被调用
}
}
```
然后在 WebMvcConfigurer 中注册拦截器:
```java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor());
}
}
```
阅读全文