Filter,Interceptor,AOP 区别与使用方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Filter,Interceptor,AOP 区别与使用方法相关的知识,希望对你有一定的参考价值。
参考技术A 用法:实现Filter接口,或继承其实现类(eg: GenericFilterBean -> OncePerRequestFilter -> AbstractRequestLoggingFilter)
用法
步骤1:继承HandlerInterceptorAdapter(是HandlerInterceptor接口的实现类,有默认的空实现,可以自由选择自己需要的method去实现)
步骤2:
用法
@Aspect @Component @Pointcut @Around @Before
顺序:Filter -> Interceptor -> ControllerAdvice -> Aspect -> Controller -> Aspect -> ControllerAdvice -> Interceptor -> Filter
*ps: ControllerAdvice 是controller的增强,和ExceptionHandler一起用来做全局异常。
SpringBoot 三种拦截http请求方式Filter,interceptor和aop
参考技术A SpringBoot 三种拦截http请求方式Filter,interceptor和aop。这三种拦截方式的拦截顺序是:filter—>Interceptor-->ControllerAdvice-->@Aspect -->Controller;
这三种方式的区别:
1.过滤器Filter可以拿到原始的HTTP请求和响应的信息, 但是拿不到你真正处理请求方法的信息,也就是方法的信息。
2.拦截器Interceptor可以拿到原始的HTTP请求和响应的信息,也可以拿到你真正处理请求方法的信息,但是拿不到传进参数的那个值。
3.切片Aspect,既然Spring那么支持AOP,可以拿到原始的HTTP请求和响应的信息, 也可以拿到你真正处理请求方法的信息,也可以传进参数的那个值。
实现Filter接口
实现 HandlerInterceptor 接口,然后配置进Spring。
配置进spring
pom.xml 添加Aop支持
以上是关于Filter,Interceptor,AOP 区别与使用方法的主要内容,如果未能解决你的问题,请参考以下文章
拦截器(Interceptor)和过滤器(Filter)的区别和执行顺序)
SpringBoot知识体系+Vue3 实战WIKI知识库系统笔记 demo8_Filter_Interceptor_aop
SpringBoot知识体系+Vue3 实战WIKI知识库系统笔记 demo8_Filter_Interceptor_aop