今天在IDEA写拦截器的时候遇到点困惑,继承了HandlerInterceptor没有报错,我一直认为他会提醒,要重写方法。如下图

通过查资料,嗯,终于找到原因来,先来上HandlerInterceptor接口的源码

public interface HandlerInterceptor {

	default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
return true;
} default void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable ModelAndView modelAndView) throws Exception {
} default void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable Exception ex) throws Exception {
}
}

敲一敲黑板,重点来了

以上是HandlerInterceptor 接口的源码,可以看到高版本的spring-webmvc jar包中,HandlerInterceptor 接口定义的是默认方法,这是jdk1.8的新特性,也就是说接口中的方法你重写也可以,不重写也不会报错。

所以所这里并不会提醒你重写,你要自己去手动写。

最新文章

  1. 【hihocoder#1413】Rikka with String 后缀自动机 + 差分
  2. 例子:RSS Reader Sample
  3. ubuntu搭建pyqt5开发环境
  4. tonado框架的列表嵌套 (template中for循环嵌套)
  5. jquery基本方法
  6. hibernate的dao中参数的传递取值
  7. localStorage
  8. make subversion时出现neon报错 及 svn其他问题汇总(3ge )
  9. 使用Ambari部署hadoop集群
  10. js深入研究之初始化验证
  11. AtCoder Regular Contest 077
  12. 执行Python程序的两种方式
  13. docker-compose部署ELK
  14. 记录一个EF连接查询的异常:the entity or complex type 'x' cannot be constructed in a linq to entities query
  15. Centos 7 图形安装笔记(超详细)
  16. mac & ip
  17. C++成员函数在内存中的存储方式
  18. (转)CLR20R3 程序终止的几种解决方案
  19. 10.Date对象
  20. wifidog 源码初分析(1)-转

热门文章

  1. 浅谈C++ STL vector 容器
  2. Velocity与Jsp、Freemarker的对比
  3. React、Vue、Angular对比 ---- 新建及打包
  4. Avalon的小故事 (1)
  5. Redis的Sorted-Sets排行榜功能实现
  6. Image-transpose
  7. 移动端rem布局,用户调整手机字体大小或浏览器字体大小后导致页面布局出错问题
  8. Django学习笔记(15)——中间件
  9. WPF 通过EventTrigger修改鼠标样式
  10. DAX 第九篇:文本函数