• filter,interceptor,controllerAdvice,aspect,controller执行顺序


    1、filter,这是java的过滤器,和框架无关的,是所有过滤组件中最外层的,从粒度来说是最大的。

    配置方式,有直接实现Filter+@component,@Bean+@configuration(第三方的filter)

    2、interceptor,spring框架的拦截器

    配置方式,@configuration+继承WebMvcConfigurationSupport类添加过滤器。

    3、aspect,可以自定义要切入的类甚至再细的方法,粒度最小。加个注解用效果更佳。

    4、controllerAdvice,是controller的增强,和ExceptionHandler一起用来做全局异常。

    总结:

    filter:和框架无关,可以控制最初的http请求,但是更细一点的类和方法控制不了。

    interceptor:可以控制请求的控制器和方法,但控制不了请求方法里的参数。

    aspect : 可以自定义切入的点,有方法的参数,但是拿不到http请求,可以通过其他方式如RequestContextHolder获得。

  • 相关阅读:
    python向mysql中插入数字、字符串、日期总结
    selenium鼠标事件
    iOS hook
    网络抓包篇
    frida IOS环境搭建
    git
    $emit
    better-scroll无法滚动的问题。
    this.$nextTick()作用
    better-scroll
  • 原文地址:https://www.cnblogs.com/linliquan/p/14817560.html
Copyright © 2020-2023  润新知