责任链

一种设计模式,它会将对象一个一个进行处理,如果第一个处理不了,会扔到后面的节点进行处理。像拦截器一样,当请求被第一个拦截器拦截之后,后面的拦截器就不用继续拦截了。否则一个接一个进行拦截。

拦截器

注册拦截器

责任链之拦截器

往registrations变量添加拦截器

责任链之拦截器

运行步骤

责任链之拦截器
责任链之拦截器
责任链之拦截器

关键代码

责任链之拦截器

上面这张图尤为重要,像拦截器前致拦截boolean preHandle,为啥是boolean,再这里进行判断。
其次也是责任链的体现,一个一个拦截器执行,如果中途有一个已经拦截到了,返回false。

责任链之拦截器
可以看到这个就是我们之前注册的拦截器哦~

相关文章: