阶段性的学习总结,留作纪念:
已完成:Spring源码、Spring mvc源码 简单了解,画图学习
待完成:@RequestBody、@ResponseBody的解析过程分析,Aop、Tx在请求时的处理
PS:大半个月才画出来,没想到能坚持下来,还有mac不用鼠标画图是真的难受
一、Spring源码,初始化
目的:了解Bean的实例化、初始化进程
分析起源:以Web容器为例,进行源码剖析,ContextLoadListener监听启动后,进行Spring容器的初始化,没有使用常用的ClasspathXmlApplicationContext进行分析(其实原理是一样的,只是想把tomcat启动和容器初始化联系在一起)
二、Spring Mvc源码之初始化
目的:了解SpringMvc 常用组件HandlerMapping /HandlerAapter/ViewResolver的初始化进程
分析起源:tomcat启动后,HttpServletBean的init方法会被执行,从而开始initWebApplicationContext,执行Spring源码的Bean初始化工作,此时需要注意的是实现了InitializingBean的类会执行afterPropertiesSet();是mvc初始化的入口
三、Spring Mvc源码之请求处理
目的:了解请求url怎么找到对应方法的,方法的参数是怎么赋值的,以及返回ModelAndView时是怎么处理的
分析起源:HttpServlet的Service方法在请求后会被调用