1召嘶、filter父晶,這是java的過濾器,和框架無關的弄跌,是所有過濾組件中最外層的甲喝,從粒度來說是最大的。
配置方式铛只,有直接實現(xiàn)Filter+@component埠胖,@Bean+@configuration(第三方的filter)
2、interceptor淳玩,spring框架的攔截器
配置方式直撤,@configuration+繼承WebMvcConfigurationSupport類添加過濾器。
3蜕着、aspect谋竖,可以自定義要切入的類甚至再細的方法,粒度最小承匣。加個注解用效果更佳圈盔。
4、controllerAdvice悄雅,是controller的增強,和ExceptionHandler一起用來做全局異常铁蹈。
總結(jié):
filter:和框架無關宽闲,可以控制最初的http請求,但是更細一點的類和方法控制不了握牧。
interceptor:可以控制請求的控制器和方法容诬,但控制不了請求方法里的參數(shù)。
aspect : 可以自定義切入的點沿腰,有方法的參數(shù)览徒,但是拿不到http請求,可以通過其他方式如RequestContextHolder獲得颂龙。
最后:
從網(wǎng)上找的圖片:
image.png
轉(zhuǎn)載自 https://blog.csdn.net/ch_show/article/details/79311315