SpringBoot如何实现拦截

SpringBoot如何实现拦截

本文探讨SpringBoot中如何实现拦截的几种方式

1.实现 Filter 接口

实现方式:

  1. 新建一个类实现Filter接口,然后将此类注册到FilterRegistrationBean,配置拦截路由等。
  2. 加上@WebFilter注解,参数传入拦截路由等,需要配合@ServletComponentScan才能生效。

2.实现 HanlderInterceptor 接口

HandlerInterceptor 用于拦截 Controller 方法的执行,主要声明3个方法,preHandle、postHandle和afterCompletion,分别代表方法执行前调用、方法执行后视图渲染前调用和试图渲染后调用,最后别忘了对Interceptor进行注册。

3. @ExceptionHandler注解对异常进行拦截

@ExceptionHandler 的用途是捕获方法执行时抛出的异常,通常可用于捕获全局异常,并输出自定义的结果。@ExceptionHandler 需要与 @ControllerAdvice配合使用其中 @ControllerAdvice的 assignableTypes 属性指定了所拦截类的名称。

4. @Aspect注解

@Aspect使用此注解面向切面编程,是Spring核心理念之一的AOP思想。

  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信