手写SpringMVC框架流程图 手写SpringMVC原理解析1:自定义servlet实现HttpServlet2:在init()方法中,获取Spring上下文信息。(即巧妙又**哈哈)3:调用loadApiFromSpringBeans方法。通过IOC容器获取Bean的名称数组4:还是通过applicationContext去根据名称获取类型。5:循环方法,找到自定义的注解,进行参数解析,封装到调用类6:构建Configration类(Freemarke中的类)7:真正调用的时候走doGet和doPost方法,如果是put和delete方法根本就不支持(严重缺陷)8:两个方法同时调用doHandler方法9:通过req取得路径当做K找到注解中的映射路径10:然后通过buildPrams去构建参数封装Object数组返回(将参数一一对应的封装通过反射去判断类型。然后如果是普通的类型)11:通过convert方法将参数类型进行转换包装,然后并没有找到对byte类型和文件类型的数据包装(瞬间就可以翻车)12:run方法通过反射调用执行目标方法。(姿势很帅)13:通过processResult(result, resp);构建FreemarkeView(所谓的自定义试图引擎。其实就是Freemark哈哈。。。)。14:总结手写MVC就是将Spring和Servlet各用一半进行拼装。(牛逼。。。。)