(六)SSM架构-B:对于SpringMVC的简述

目录

1-Spring MVC基础概念:

1.1-什么是SpringMVC?

1.2-Spring MVC工作原理简述:

1.2.1-工作流程:

1.3-对比Straus2 MVC:

2-MVC设计模式:

2.1-组件名称:

2.2-MVC模式原理:

2.3-Spring MVC设计架构:

3-MVC,SSM与三层架构的构成及相互关系

3.1-MVC框架和三层架构的关系

3.1.1-依从三层架构标准的MVC框架实现

3.1.2-MVC与各个角色对应关系

3.2-SSM框架和三层架构的关系

3.2.1-SpringMVC:

3.2.2-MyBatis:

3.2.3-Spring:


1-Spring MVC基础概念:

1.1-什么是SpringMVC?

SpringMVC(Spring Web MVC)属于Spring基本架构组成部分之一。它属于SpringFrameWork的后续产品,同时,已经融合在Spring Web Flow里面。这意味着,完成配置文件之后,就可以实现Spring MVC与Spring整合。[1]

1.2-Spring MVC工作原理简述:

1.2.1-工作流程:

1-用户发送请求至前端控制器DispatcherServlet。

2-DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3-处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4-DispatcherServlet调用HandlerAdapter处理器适配器。

5-HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6-Controller执行完成返回ModelAndView。

7-HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

8-DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9-ViewReslover解析后返回具体View。

10-DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11-DispatcherServlet响应用户。[2]

小记:

核心架构的具体流程步骤如下:

1-首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;

2-DispatcherServlet——>HandlerMapping, HandlerMapping 将会把请求映射为HandlerExecutionChain 对象(包含一个Handler 处理器(页面控制器)对象、多个HandlerInterceptor 拦截器)对象,通过这种策略模式,很容易添加新的映射策略;

3-DispatcherServlet——>HandlerAdapter,HandlerAdapter 将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;

4-HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter 将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个ModelAndView 对象(包含模型数据、逻辑视图名);

5-ModelAndView的逻辑视图名——> ViewResolver, ViewResolver 将把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术;

6-View——>渲染,View会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术;

7-返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。[2]

1.3-对比Straus2 MVC:

Spring MVC是类似于 Struts2 的一个 MVC 框架。但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,SpringMVC 已经成为了大多数企业优先选择的框架。[1]

2-MVC设计模式:

2.1-组件名称:

M-Model 模型(完成业务逻辑:有javaBean构成,service+dao+entity)

V-View 视图(做界面的展示  jsp,html……)

C-Controller 控制器(接收请求—>调用模型—>根据结果派发页面)[2]

2.2-MVC模式原理:

2.3-Spring MVC设计架构:

传统的模型层被拆分为了业务层(Service)和数据访问层(DAO,Data Access Object)。 在 Service 下可以通过 Spring 的声明式事务操作数据访问层,而在业务层上还允许我们访问 NoSQL ,这样就能够满足异军突起的 NoSQL 的使用了,它可以大大提高互联网系统的性能。[3]

特点:

结构松散,几乎可以在 Spring MVC 中使用各类视图;

松耦合,各个模块分离;

与 Spring 无缝集成. [3]

3-MVC,SSM与三层架构的构成及相互关系

小记:

三层架构由用户界面层/表示层(User Interface),业务逻辑层(Business Logic Layer)和数据访问层(Data Acess Layer)构成。

其中每一层的作用为:

1-用户界面层:负责与用户进行交互。

2-业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。

3-数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,也就是说是对数据库,而不是对数据的操作,具体为业务逻辑层或用户界面层提供数据服务。[4]

3.1-MVC框架和三层架构的关系

小记:

MVC与三层架构并不是一一对应的,MVC只是三层架构基础上设计的具体框架。

3.1.1-依从三层架构标准的MVC框架实现

MVC 是在三层架构的基础上设计的一种框架型架构。三层架构是一种宏观的概念,而 MVC 就是一种比较具体的三层架构的框架实现。从三层架构的角度来讲,实际应用中,实现它只需在 MVC 的基础上把不同类别的代码文件进行分类就可以了。[4]

3.1.2-MVC与各个角色对应关系

一般认为View 层和 Controller 层都属于三层架构的用户界面层,而Model属于业务逻辑层和数据访问层. [4]

3.2-SSM框架和三层架构的关系

小记:

SSM主要由Spring,SpringMVC 和 Mybatis三个构成。它们在三层架构中所处的位置是不同的,即它们在三层架构中的功能各不相同,各司其职。[4]

3.2.1-SpringMVC:

作为View层的实现者,完成用户的请求接收功能。SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。[4]

3.2.2-MyBatis:

作为 Dao层的实现者,完成对数据库的增、删、改、查功能。[4]

3.2.3-Spring:

以整个应用大管家的身份出现。整个应用中所有的Bean的生命周期行为,均由Spring来管理。即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由Spring进行管理。[4]

推荐阅读:

1, 3, 5有具体实例代码。

[1] ​​​​​​​SpringMVC详解(一)------入门实例 - YSOcean - 博客园

[2] SpringMVC工作原理 - 霸气小青年 - 博客园

[3] Spring MVC【入门】就这一篇! - 简书

[4] MVC,SSM与三层架构的构成及相互关系 - 淘才 - 博客园

[5] https://www.iteye.com/blog/onway417-2187841

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值