一、SSM框架简介
1.1、基本概念
三层架构:
开发架构一般都是基于两种形式:一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。
在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。其中每一层都分工明确:
表现层:负责接收客户端请求,向客户端响应结果,负责与用户进行交互。表现层的设计一般都使用MVC模型
业务层:主要是针对不同请求业务逻辑的处理,也可理解为对数据业务逻辑处理。
持久层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,也就是说是对数据库,而不是对数据的操作,具体为业务逻辑层或用户界面层提供数据服务。
三层架构的出现是为了降低耦合度,在这里,使用面向抽象编程,也就是上层对下层的调用,直接通过接口来完成,下层对上层的真正服务提供者,是下层实现的接口实现类。
实现类是可以更换的,这就实现了层间的解耦合。
Spring:
Spring是一个轻量级的开源框架,以IOC(反转控制)和AOP(面向切面编程)两个核心。控制反转即将对象的创建和销毁控制权交给Spring容器来管理,从而减少最大程度减少new关键字的出现,使代码低耦合,高复用。面向切面编程即将核心业务逻辑代码与日志记录,权限验证,效率检查,事务管理等模块必要存在且非业务逻辑代码分开,达到与主业务逻辑解耦的目的。
SpringMVC:
MVC设计模式:Model-View-Controller简写
MVC是软件工程中的一种软件架构模式,它是一种分离业务逻辑与显示界面的设计方法,它把软件系统分为三个基本部分:
模型(model)、视图(view)、控制器(controller)
控制器 controller:对请求进行处理,负责请求转发,也就是事件,用于流程的控制; 完成业务逻辑:由javaBean构成,在MVC的三个部件中,模型拥有最多的处理任务。
视图view:界面设计人员进行图形界面设计,也就是GUI组件,用于数据的展示;负责跟用户交互的界面。一般就是由HTML,css元素组成的界面。 在视图层里没有真正的处理发生,只负责数据输出。MVC能为应用程序处理很多不同的视图。
模型model:编写程序应用功能(实现算法等等),数据库管理,也就是实体类。模型用于数据的封装和数据的传输;接收请求—>调用模型—>根据结果派发页面并经过模型处理返回相应数据。
MyBatis:
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围着一个aqlSessionFactory实例展开的,。mybatis通过配置文件关联到各实体类的mapper文件,mapper文件中配置了每个类对数据库所需要进行的sql语句映射。在每次与数据库交互时,通过sqlsessionFactory拿到一个sqlSession,再执行sql命令。
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成3件事情:
1、更加完善的封装JDBC操作
2、利用反射打通Java类与SQL语句之间的相互转换
3、采用ORM思想解决实体与数据映射的问题
MVC框架的工作流程:
用户将请求发送至DispatcherServlet;
1.DispatcherServlet收到请求查询一个或多个HandlerMapping,找到处理该请求的Handler;
2.HandlerMapping根据请求找到相应的Handler,生成Handler对象返回给DispatcherServlet;
3.DispatcherServlet通过HandlerAdapter调用Handler;
4.Handler(Controller)调用业务逻辑(service)进行处理,处理完成返回ModelAndView;
5.HandlerAdapter将Handler处理结果ModelAndView返回给DispatcherServlet;
6.DispatcherServlet查询一个或多个ViewReslover(视图解析器),将ModelAndView传给指定的ViewReslover;
7.ViewReslover解析后返回具体View给DispatcherServlet;
8.DispatcherServlet对View进行渲染(将模型数据填充至视图中);
9.DispatcherServlet响应用户,View将结果显示在客户端。
1.2、SSM整合思路
- 先搭建整合的环境
- 先把Spring的配置搭建完成
- 搭建SpringMVC框架,通过测试搭建无误
- 再使用Spring整合SpringMVC框架
- 搭建MyBatis框架,单元测试通过。
- 最后使用Spring整合MyBatis框架。