SpringMVC运行原理图:

以上的①-③是我们程序员做的,剩余的都是springmvc框架做的,对应代码如下:

个人总结:
SpringMvc将代码web代码运行过程封装成一个个的对象
1、映射关系从具体到抽象,面向接口编程HandlerMapping接口
通过映射关系寻找地址对应的具体类,之前使用的是<servlet-mapping>进行具体的地址拦截和<servlet>指定具体的Servlet类。
现在springmvc使用HandlerMapping接口(处理映射器),<servlet-mapping>对出.jsp之外的所有进行拦截,<servlet>指定外观类DispatcherServlet类。
2、外观类DispathcerServlet操作具体类的时候,统一面向一个抽象HandlerAdapter接口,运用了依赖倒置原则的编程思想,并使用了适配器模式。
找到具体类之后由tomcat服务器通过反射创建对象实例,并调取对象的service方法。然后servlet具体类中再调取业务逻辑层service。
现在springmvc找到具体类之后通过适配模式,找到实现了规则的类,即实现了controller接口的类,然后执行controller具体类,然后controller具体类中再调取业务逻辑层service。
3、返回的结果也是一个对象,更加符合面向对象思想
controller返回的结果是一个对象,里面包含数据和要跳转的具体页面。

本文介绍了SpringMVC的运行原理,重点讲述了HandlerMapping接口如何实现映射,DispatcherServlet作为外观类如何运用依赖倒置原则,以及Controller如何通过适配器模式调用业务逻辑。SpringMVC将web代码的运行过程封装成面向接口的对象,提高了代码的抽象性和灵活性。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



