springboot中使用filter、intercepter、aspect对请求进行拦截
简单来说,filter作用于servlet层,intercepter作用域controller层,aspect根据具体织入的方法作用于method层,如下图所示。

具体三者的区别在原博文https://www.cnblogs.com/bingshu/p/7819932.html已经详细介绍了。
需要注意的是,在第三种aspect织入拦截的实现中,需要引入如下依赖:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.1</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.9.1</version>
</dependency>
其中,关于aop相关的主要引入了支持切面编程的依赖:org.aspectj.aspectjweaver和org.aspectj.aspectjrt的依赖。aspectjweaver是aspectj的织入包,aspectjrt是aspectj的运行时包,缺一不可。

浙公网安备 33010602011771号