SSM框架

上传人:ali****an 文档编号:110990997 上传时间:2019-11-01 格式:DOCX 页数:18 大小:627.35KB
返回 下载 相关 举报
SSM框架_第1页
第1页 / 共18页
SSM框架_第2页
第2页 / 共18页
SSM框架_第3页
第3页 / 共18页
SSM框架_第4页
第4页 / 共18页
SSM框架_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《SSM框架》由会员分享,可在线阅读,更多相关《SSM框架(18页珍藏版)》请在金锄头文库上搜索。

1、SSM框架1 什么是SSM框架?spring + springmvc + mybatis2 Spring 容器2.1 这里有两个概念:spring 和springmvc。那么这两个概念有什么区别?spring 是IoC 和AOP的容器框架。springmvc 是一种Web 框架。2.2 spring 主要功能是控制反转(IoC)和依赖注入(DI)。控制反转是将控制权交给容器,由容器决定动态注入。调用类依赖于接口,而不依赖具体的实现类,实现了解耦合。依赖注入是一种设计模式,是作为控制反转的一种实现模式(还有其他实现方式)。依赖注入就是将实例变量传入到调用类的对象中去。2.3 工厂模式:不关心接口

2、是如何实现的,就可以创建该接口的实例对象。工厂模式的简单理解:通过接口实现解耦。通过耦合实现调用。工厂模式的耦合:通过接口调用方法。接口是死的,对其方法的调用是死的。工厂模式的解耦:调用哪一个目标实现类、怎样调用方法(对目标对象方法的实现)。 简化代码要知道,工厂的目的之一就是创建目标对象(耦合)。而工厂的实现类的作用就是创建不同的目标接口的实现类的实例。这个模式是固定的,那么我们可以让程序针对不同的目标接口的实现类自动创建相应的工厂实现。(比较低级的做法可以是:在相应的目标接口的实现类中创建其对应工厂实现类对象的匿名内部类。)2.4 代理模式:通过代理可以实现对工厂实现类的统一管理工厂模式无

3、法对一系列工厂实现类进行统一的管理。代理模式可以解决这个问题。工厂对象接口的实现类 实现了工厂对象的接口。代理 实现了工厂对象接口。并提供了工厂接口注入。工厂生产方法 提供了工厂实例的注入接口。那么,可以这样:工厂对象接口的实现类们注入到代理类中,代理类注入到工厂生产方法中。其中,代理实现了工厂对象接口。那么它是怎样实现的?其实,代理相当于一个平台,它提供了工厂接口的注入。它虽然实现了工厂接口,但它不自己调用其中的方法,而是通过注入的工厂接口的实现类去调用其中的方法。2.5 动态代理:通过反射动态地创建代理由上可知:代理的作用就是实现对工厂实现类的统一管理。什么统一管理呢?就是将额外的操作从实

4、现类们中分离,实现对实现类们的统一处理。传统代理的局限性:要代理的目标对象的接口是死的,只能实现对一种目标对象进行统一管理(包括调用目标对象中的方法)。但是我们知道,统一管理这些操作可以与目标对象分离开来,实现解耦。这就是动态代理。动态代理是如何实现的呢?动态代理类,通过实现InvocationHandler这样一个处理器接口,即可实现动态代理。那么InvocationHandler 处理器是怎么做的呢?首先需要知道你要对哪一类或哪几类对象们(即接口列表)进行代理,然后需要知道,你要对这些对象们进行怎样的代理(即动态代理类),此外,还需要接口的类加载器。(类加载器的作用就是读取该类的字节码文件

5、,创建该类的对象。因为反射获取构造器有局限性,此处不用反射创建该代理实现类)。有了这三个条件, InvocationHandler 处理器 就可以动态地创建相应的代理类对象。2.6 Spring对aop的实现日后更新。事务管理器、通知、aop等(applicationContext.xml)3 mybatis 框架MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。3.1 Mybatis 做了些什么?Mybatis 是持久层框架,主要处理数据库的交互。3.2 怎么搭建Mybatis 框架3.2.1 逆向工程逆向工厂根据 单表生成 po类,mapper,mapping

6、映射文件。3.2.2 手动编写po类、mapper、mapping文件。根据dataBase 的映射关系编写实现对数据库的增、删、改、查等操作。3.3 po类主要包括 数据库中各个表(table)的基本映射类;基本映射类的扩展类(如 ItemsCustom)自定义pojo包装类(如 ItemsQueryVo)3.4 mapper 映射接口即 dao 层。此层主要包含对数据库的操作(接口)。3.5 mapping 映射文件这里主要包含了对数据库的具体操作3.6 sqlSessionFactory俗称session工厂,在mybatis中可以由 SqlSessionFactoryBuilder 创

7、建。在spring容器中,可以由SqlSessionFactoryBean创建。session 工厂的作用:连接数据库,并扫描mybatis的配置文件和mapping 映射文件。这里使用了一个Singleton 设计模式。SqlSessinFactory 的目的是什么?dataBase1 sqlSession(S)dataBase2 sqlSession(S)dataBaseN sqlSession(S)不同的数据库则需要不同的SqlSessionFactory。而通常情况下,只专注于对一个dataBase 进行操作,所以这里我们Singleton模式。3.7 sqlSession当获得一个s

8、ession时,可以用它来执行映射语句,提交和回滚链接。当你不需要它时,可以关闭它。如果与spring 整合,spring会将sqlSessionFacroy提供给mapperFactoryBean (提供操作数据库方法的的接口)。那么,spring能够通过sqlSessionFacroy创建一个或多个线程安全的sqlSession ,注入给mapperFactoryBean。为此,不再需要直接使用sqlSession。3.8 mapperFactoryBeanspring 提供了一个动态代理的实现。这个动态代理类可以让你通过动态代理类创建不同mapper代理类,实现对mapper接口中方法(

9、包含操作数据库方法)的调用。注意,这个sqlSession 是线程安全的,而且可以根据spring事务配置自动提交、回滚和关闭session。3.9 Service 层mapperFactoryBean 创建 mapper代理类。service层调用mapper 代理类完成各种事务操作。4 springmvc 框架springmvc 是一种 web层的框架。其目的是将 web层的Controller 与 页面的 View 联系起来。4.1 web 层怎么解析?页面部署到 tomcat容器中,tomcat容器获取web.xml中 DispatcherServlet (前端控制器),然后使用Dis

10、patcherServlet 去解析页面。web.xml 除了前端控制器(Servlet),还有监听器、Filter 过滤器等。比如post请求乱码过滤器。4.2 DispatcherServlet 前端控制器前端控制器,并不自己去解析web View页面。而是读取springmvc-servlet.xml 配置文件,获取里面的 处理器适配器和处理器映射器,视图解析器,异常处理器等。通过他们来处理View。前端控制器是怎么实现的?4.2.1 定义了很多解析器、适配器和映射器 的成员变量,此外还有资源配置文件的成员变量。它定义这么多变量,目的就是方便自己调用和提供给别的类调用。4.2.2 为了方

11、便自己调用,它必须对这些定义好的成员变量进行赋值:1. 通过setter()方法注入。(public 由其他类调用)让其实现类去设置true或 false。比如此处的ThrowException的默认值就是false。2. 通过initxxx方法注入。(然后在另一个地方直接调用它,private 不需要重写或者被调用)这里通过读取配置文件applicationContext,对存在的成员变量初始化。具体操作:使用BeanFactoryUtils 将context与成员变量HandlerMapping映射成bean对象。如果该bean对象不为空,那么使用 getBean()方法生成 Handle

12、rMapping。3. 提供了部分解析器 getter方法,以便其他类可以获取该成员变量。4.3 处理器映射器 (HandlerMapping)作用:就是将url与controller或者controller方法 相互映射。类似于servlet的一种拦截器,拦截到此url就交给该项目相应的controller方法处理。形成一种映射关系。许多这样的映射关系就形成了handlerMappings。4.4 处理器适配器 (HandlerAdapter)适配器模式:保持了原接口的完整性。减少了不必要的实现,提高代码的编写效率。拥有自己独特的实现方式。(耦合)提供一个接口,可以处理一系列该接口实现类。或者可以被继承,由子类重写其部分方法。(解耦)上面的SimpleControllerHandlerAdapter 就是对 HandlerAdapter的实现。怎么实现的呢?它仅针对Controller类型的处理器,并对该类处理器一些自己的处理。(耦合)可以处理一系列Controller 类型的处理器,返回ModelAndView。(解耦)4.5 视图解析器 (ViewResolver)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号