Spring HandlerInterceptor实现原理代码解析
HandlerInterceptor 在这里看到这个HandlerExecutionChain对interceptor的调用,在这里深入看一下。
HandlerExecutionChain 就是一个类,绑定了Handler( 对应的Controller) 和 Interceptors , 所以作用就是对Controller前后执行interceptors, 类似Filter
几个问题:
1. interceptor调用位置?

1 2 3 对应调用 handlerInterceptor preHandle, postHandle, afterCompletion
先看第一行的:

进到对应的interceptor实现类,preHandler返回true, 如果返回false, 就会到DispatcherServlet就直接return了。

看第二行没有特别的:

由于它只重写了preHandle

所以走到它父类的postHandle了。方法是空的。

第三行和第二行一样不赘述了。
以上就是执行位置。
所以如果实现HandlerInterceptor , preHandle 应该返回true, 具体要拦截的内容写在return true之前就行。 postHandle和afterCompletion 都是void方法,直接在里面写需要拦截的内容。
上一篇:继承JpaRepository后,找不到findOne()方法的解决
栏 目:JAVA代码
本文标题:Spring HandlerInterceptor实现原理代码解析
本文地址:http://www.codeinn.net/misctech/200260.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




