头歌SpringBoot 拦截器
时间: 2024-12-12 11:13:05 浏览: 14
Spring Boot 中的拦截器(Interceptor)是一种用于增强或修改请求处理流程的功能,通常在Spring MVC框架下使用。它们允许你在控制器方法执行前后添加自定义的行为,比如日志记录、权限验证、性能监控等。在Spring Boot中,你可以通过创建`HandlerInterceptorAdapter`的子类,并实现`preHandle()`、`postHandle()`和`afterCompletion()`三个方法来创建拦截器。
- `preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`:在处理请求之前执行,可以检查权限、设置响应头等。
- `postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)`:处理完请求后但在返回视图前执行,可以修改模型数据。
- `afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)`:在整个处理过程结束后执行,无论是否发生异常都会调用。
要在Spring Boot应用中启用拦截器,你需要配置WebMvcConfigurers、注册拦截器到ApplicationContext或者直接在Controller上声明`@CrossOrigin`注解来使用全局拦截器。记得将你的拦截器类装配到`@Configuration`的`@EnableWebMvc`注解中。
阅读全文