Spring源码解析 -- SpringWeb小结

149 阅读2分钟

简介

在前几篇的文章中,我们探索了一个请求的大致处理路径,在其中注重对Filter进行分析,虽然还有其他一些细节待探索,但这篇文章在这里做一个小结,留下一条主线,方便后面继续回头来探索更多的细节

小结

在前面几篇文章中,我们得到的东西打字如下的思维导图所示:

Spring源码阅读.png

请求的大致处理过程

如上图所示:

  • 请求接收与前期处理:如之前tomcat中的netty监听接收通信消息等
  • Filter处理:经过处理后变来到了Filter处理
    • 在前面的几篇文章中,我们探索的Filter的初始化,在程序启动便初始化好相关的Filter
    • 在请求到来的时候,根据路径匹配得到响应的Filter处理链
  • Interceptor拦截器:这部分没有写处理,因为比Filter简单很多,就是对Controller的AOP
  • 解析获取请求参数:通过文章的分析和断点获取参数是在Filter和拦截器后面
  • Controller处理

上面便是我们最近的源码解析所得

但也留下了很多值得探索的问题:

  • Filter、拦截器、解析获取请求参数,这些类是如何串起来的,其中起承接作用的类是哪些
  • Filter的责任链具体是如何的设计的,有哪些类?

后序计划

有时候工作上事多,认真写一篇文章还是挺花时间的,但还是要坚持学习输出,后序有下面的计划:

  • 缓存相关的源码探索:最近在工作中使用有点心虚,下来分析下,让自己对自己写的代码更心中有数

最近还有在研究minetest(C++克隆的我的世界源码),这个有点难搞,还没怎么整明白,后序有点成功了,也输出一些文章

参考链接