过滤器拦截器AOP切面执行顺序的比较

Posted 360linker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤器拦截器AOP切面执行顺序的比较相关的知识,希望对你有一定的参考价值。




过滤器:基于 Servlet,通过函数回调方式实现,可以过滤请求和图片文件等,每个请求一个过滤器只能过滤一次。

拦截器:基于 java 的反射机制,代理模式实现,只能拦截请求,可以访问上下文等对象,功能强大,一个请求可多次拦截。

拦截器是 Spring 中AOP的一种实现方法。另一种方法通过 Pointcut、Advice实现


下面具体测试三者执行顺序:

第一步:添加过滤器

  2、新建过滤器

过滤器、拦截器、AOP切面执行顺序的比较


第二步:添加拦截器

拦截器有两种方式实现:注解和配置文件,习惯采用配置文件方式

  1、添加配置,装配 bean

过滤器、拦截器、AOP切面执行顺序的比较

  2、新建拦截器

过滤器、拦截器、AOP切面执行顺序的比较


第三步:添加 AOP 切面

同样采用配置文件的方法

  1、配置文件中配置切面、切入点、通知,装配 bean


过滤器、拦截器、AOP切面执行顺序的比较

  2、新建切面类

过滤器、拦截器、AOP切面执行顺序的比较

最后写一个 Controller 方法来测试一下:

过滤器、拦截器、AOP切面执行顺序的比较

测试结果:



如有侵权,请联系 service@360linker.com 删除。

以上是关于过滤器拦截器AOP切面执行顺序的比较的主要内容,如果未能解决你的问题,请参考以下文章

spring中过滤器(filter)、拦截器(interceptor)和切面(aop)的执行顺序

SpringBoot使用过滤器拦截器切面及其之间的区别和执行顺序

Spring filter和拦截器的区别和执行顺序

Spring filter和拦截器的区别和执行顺序

Spring filter和拦截器的区别和执行顺序

spring15----AOP之通知顺序