一、SSM框架的介绍
SSM框架是 Spring + Spring MVC + MyBatis 的缩写,这是继SSH之后的,目前比较主流的JavaEE 企业级框架,适用于搭建各种大型的企业级应用系统。
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.3 MyBatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
二、三层架构
2.1 介绍:
三层架构是指:视图层 View、服务层 Service、持久层 Dao。它们分别完成不同的功能。
- View 层:用于接收用户提交请求的代码在这里编写。
- Service 层:系统的业务逻辑主要在这里完成。
- Dao 层:直接操作数据库的代码在这里编写。
2.2 目的:
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。
三、MVC
3.1 介绍:
MVC,即 Model 模型、View 视图、Controller 控制器
- View:视图,为用户提供使用界面,与用户直接进行交互。
- Model:模型,承载数据,并对用户提交请求进行计算的模块。Model 分为两类,一类被称为数据承载 Bean,一类被称为业务处理 Bean。所谓数据承载 Bean 是指实体类。专门用于承载业务数据的,如 Student、User 等。而业务处理 Bean 则是指 Service 或 Dao 对象,专门用于处理用户提交请求的。
- Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
3.2 MVC 架构程序的工作流程:
- 用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX请求等。
- 服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理。
- Model 处理后,将处理结果再交给 Controller。
- Controller 在接到处理结果后,根据处理结果找到要作为向客户端发出的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。
四、MVC 与三层架构的关系
MVC 与三层架构很相似,但是它们不一样。
如图所示。
五、SSM与三层架构之间的关系。 ![](https://i-blog.csdnimg.cn/blog_migrate/c6ed23fdc701533ac27efd482a73a2bc.jpeg)