ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:476.64KB ,
资源ID:23191913      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23191913.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SSM框架.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SSM框架.docx

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

2、供了工厂实例的注入接口。那么,可以这样:工厂对象接口的实现类们注入到代理类中,代理类注入到工厂生产方法中。其中,代理实现了工厂对象接口。那么它是怎样实现的?其实,代理相当于一个平台,它提供了工厂接口的注入。它虽然实现了工厂接口,但它不自己调用其中的方法,而是通过注入的工厂接口的实现类去调用其中的方法。2.3动态代理:通过反射动态地创建代理由上可知:代理的作用就是实现对工厂实现类的统一管理。什么统一管理呢?就是将额外的操作从实现类们中分离,实现对实现类们的统一处理。传统代理的局限性:要代理的目标对象的接口是死的,只能实现对一种目标对象进行统一管理(包括调用目标对象中的方法)。但是我们知道,统一管

3、理这些操作可以与目标对象分离开来,实现解耦。这就是动态代理。动态代理是如何实现的呢?动态代理类,通过实现InvocationHandler这样一个处理器接口,即可实现动态代理。那么InvocationHandler 处理器是怎么做的呢?首先需要知道你要对哪一类或哪几类对象们(即接口列表)进行代理,然后需要知道,你要对这些对象们进行怎样的代理(即动态代理类),此外,还需要接口的类加载器。(类加载器的作用就是读取该类的字节码文件,创建该类的对象。因为反射获取构造器有局限性,此处不用反射创建该代理实现类)。有了这三个条件, InvocationHandler 处理器 就可以动态地创建相应的代理类对象

4、。2.4Spring对aop的实现日后更新。事务管理器、通知、aop等(applicationContext.xml)3mybatis 框架MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。3.1Mybatis 做了些什么?Mybatis 是持久层框架,主要处理数据库的交互。3.2怎么搭建Mybatis 框架3.2.1逆向工程逆向工厂根据 单表生成 po类,mapper,mapping 映射文件。3.2.2手动编写po类、mapper、mapping文件。根据dataBase 的映射关系编写实现对数据库的增、删、改、查等操作。3.3po类主要包括 数据库中各个表(t

5、able)的基本映射类;基本映射类的扩展类(如 ItemsCustom)自定义pojo包装类(如 ItemsQueryVo)3.4mapper 映射接口即 dao 层。此层主要包含对数据库的操作(接口)。3.5mapping 映射文件这里主要包含了对数据库的具体操作3.6sqlSessionFactory俗称session工厂,在mybatis中可以由 SqlSessionFactoryBuilder 创建。在spring容器中,可以由SqlSessionFactoryBean创建。session 工厂的作用:连接数据库,并扫描mybatis的配置文件和mapping 映射文件。这里使用了一个

6、Singleton 设计模式。SqlSessinFactory 的目的是什么?dataBase1 sqlSession(S)dataBase2 sqlSession(S)dataBaseN sqlSession(S)不同的数据库则需要不同的SqlSessionFactory。而通常情况下,只专注于对一个dataBase 进行操作,所以这里我们Singleton模式。3.7sqlSession当获得一个session时,可以用它来执行映射语句,提交和回滚链接。当你不需要它时,可以关闭它。如果与spring 整合,spring会将sqlSessionFacroy提供给mapperFactoryBe

7、an (提供操作数据库方法的的接口)。那么,spring能够通过sqlSessionFacroy创建一个或多个线程安全的sqlSession ,注入给mapperFactoryBean。为此,不再需要直接使用sqlSession。3.8mapperFactoryBeanspring 提供了一个动态代理的实现。这个动态代理类可以让你通过动态代理类创建不同mapper代理类,实现对mapper接口中方法(包含操作数据库方法)的调用。注意,这个sqlSession 是线程安全的,而且可以根据spring事务配置自动提交、回滚和关闭session。3.9Service 层mapperFactoryBe

8、an 创建 mapper代理类。service层调用mapper 代理类完成各种事务操作。4springmvc 框架springmvc 是一种 web层的框架。其目的是将 web层的Controller 与 页面的 View 联系起来。4.1web 层怎么解析?页面部署到 tomcat容器中,tomcat容器获取web.xml中 DispatcherServlet (前端控制器),然后使用DispatcherServlet 去解析页面。web.xml 除了前端控制器(Servlet),还有监听器、Filter 过滤器等。比如post请求乱码过滤器。4.2DispatcherServlet 前端

9、控制器前端控制器,并不自己去解析web View页面。而是读取springmvc-servlet.xml 配置文件,获取里面的 处理器适配器和处理器映射器,视图解析器,异常处理器等。通过他们来处理View。前端控制器是怎么实现的?4.2.1定义了很多解析器、适配器和映射器 的成员变量,此外还有资源配置文件的成员变量。它定义这么多变量,目的就是方便自己调用和提供给别的类调用。4.2.2为了方便自己调用,它必须对这些定义好的成员变量进行赋值:1.通过setter()方法注入。(public 由其他类调用)让其实现类去设置true或 false。比如此处的ThrowException的默认值就是fa

10、lse。2.通过initxxx方法注入。(然后在另一个地方直接调用它,private 不需要重写或者被调用)这里通过读取配置文件applicationContext,对存在的成员变量初始化。具体操作:使用BeanFactoryUtils 将context与成员变量HandlerMapping映射成bean对象。如果该bean对象不为空,那么使用 getBean()方法生成 HandlerMapping。3.提供了部分解析器 getter方法,以便其他类可以获取该成员变量。4.3处理器映射器 (HandlerMapping)作用:就是将url与controller或者controller方法 相

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1