SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。
Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。 [1]
整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式
整合的思路:
先搭建整合的环境
先把Spring的配置搭建完成
搭建SpringMVC框架,通过测试搭建无误
再使用Spring整合SpringMVC框架
搭建MyBatis框架,单元测试通过。
最后使用Spring整合MyBatis框架
SpringMVC: **(表现层)**
MVC是
Model 模型:
完成业务逻辑:由javaBean构成,在MVC的三个部件中,模型拥有最多的处理任务。
View视图:
负责跟用户交互的界面。一般就是由HTML,css元素组成的界面。 在视图层里没有真正的处理发生,只负责数据输出。MVC能为应用程序处理很多不同的视图。
Controller 控制器:
接收请求—>调用模型—>根据结果派发页面并经过模型处理返回相应数据
注:所有的表现层框架都是基于MVC开发的。例如SpringMVC和Strtus(Strtus、Strtus2)
SpringMVC又是基于mvc模式开发,在SpringMVC模块中,将MVC的分工划分为多个组件来完成,以此来提高MVC的执行效率。
想详细了解SpringMV请参考我发布的原文:
SpringMVC详解(一)
SpringMVC详解二(响应篇)
MyBatis: **(持久层)**
MyBatis 是是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要就完成3件事情:
1、更加完善的封装JDBC操作
2、利用反射打通Java类与SQL语句之间的相互转换
3、采用ORM思想解决实体与数据映射的问题
想详细了解MyBatis请参考我发布的原文:
MyBati潜入深出(一)
MyBatis动态SQL语法详解(二)
MyBatis缓存机制详解(三)