Love Code
SpringBoot-chapter5
面向切面编程与过滤器拦截器
相关概念
- 切面是指待插入的逻辑代码
- 切入点是指在哪个位置插入切面代码
- 通知是指在正常代码运行到切入点的位置时,Spring容器等会通知切面代码运行
- 常用的通知类型有:前置
,后置,环绕,后置成功,后置异常~
- 定义切入点@pointcut
SpringBoot与拦截器
拦截器的重要方法
- preHandle 返回true执行下个拦截器,返回false执行被拦截
- postHandle void
- afterCompletion void
SpringBoot与过滤器
过滤器的重要方法
过滤器和拦截器的异同点
- 拦截器基于Java反射机制,过滤器基于函数回调机制
- 定于拦截器依赖Servlet容器,过滤器不需要
- 对于不同的请求拦截器可以初始化多次,过滤器只能只能在容器初始化时被执行一次
- 拦截器可以获取Spring容器中的Bean,过滤器不行
如果只想过滤具有指定特征的URL请求或者session中不包含指定对象的请求可以使用过滤器,如果想在请求被处理前添加通用性的动作,比如打印日志或者监控内存等,可以使用拦截器。
感谢鼓励