资源描述
单击此处编辑母版标题样式,单击此处编辑文本,第二级,第三级,第四级,第五级,#,SSM,框架介绍,1,目录,一,.SSM,框架简介,二,.SSM,框架特征,四,.SSM,框架配置,三,.SSM,框架原理,五,.SSM,框架使用,2,2025/4/30 周三,SSM,框架简介,SSM,框架,SpringMVC,Mybatis,Spring,简介:,Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow,里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring,可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring,的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。,简介:,Spring Framework是一个开源的JavaJava EE全功能栈的应用程序框架,,以Apache许可证形式发布,也有.NET平台上的移植版本。Spring Framework,提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码,变得繁杂混乱的大量的属性文件和帮助类。,简介:,MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。,MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。其维护团队也包含iBATIS的初创成员。,3,2025/4/30 周三,SSM,框架特征,Spring MVC,1.,通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、,Velocity、Tiles、iText和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。,Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。,2.,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。,Spring,1.,轻量,从大小与开销两方面而言Spring都是轻量的。Spring非侵入式的,应用中的对象不依赖于Spring特定类。,2.,控制反转,Spring通过一种称作控制反转的技术促进了低耦合。不是对象从容器中查找依赖,而是容器在对象,初始化时不等对象请求就主动将依赖传递给它。,3.,面向切面,Spring提供了面向切面编程的丰富支持,通过分离应用的业务逻辑与系统级服务进行内聚性的开发。,4.,容器,Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。,Mybatis,1.,易于上手和掌握。,2.,sql写在xml里,便于统一管理和优化。,3.,解除sql与程序代码的耦合。,4,.,提供xml标签,支持编写动态sql。,4,2025/4/30 周三,SSM,框架原理,Spring MVC,5,2025/4/30 周三,SSM,框架原理,Spring MVC,运行原理,1.,客户端请求提交到,DispatcherServlet,2.,由,DispatcherServlet,控制器查询一个或者多个,HandlerMapping,找到处理该请求的,Controller,3.DispatcherServlet,将请求提交给,Controller,4.Controller,调用业务逻辑进行处理,返回,ModelAndView,5.DispatcherServlet,查询一个或者多个,ViewResoler,视图解析器,找到,ModelAndView,指定的视图,6.,视图负责将结果显示在客户端,DispatcherServlet,是整个,Spring MVC,的核心,它负责接收,HTTP,请求组织协调,Spring MVC,的各个组成部分,,其主要的工作有以下三项:,1.,截获符合特定格式的,URL,的请求,2.,初始化,DispatcherServlet,上下文对应的,WebApplicationContext,,并将其与业务层、持久层的,WebApplicationContext,建立关联。,3.,初始化,Spring MVC,的各个组成组件,并装配到,DispatcherServlet,中。,6,2025/4/30 周三,SSM,框架原理,Spring,框架结构图,Spring IOC,容器,spring ioc指的是控制反转,IOC容器负责实例化、定位、,配置应用程序中的对象及建立这些对象间的依赖。交由,Spring来管理这些,实现解耦,在Spring IOC容器的代表就是org.springframework.beans,包中的BeanFactory接口,BeanFactory接口提供了IOC,容器最基本功能;而org.springframework.context包下的,ApplicationContext接口扩展了BeanFactory,还提供了,与Spring AOP集成、国际化处理、事件传播及提供不同,层次的context实现。,简单说,BeanFactory提供了IOC容器最基本功能,而,ApplicationContext 则增加了更多支持企业级功能支持。,ApplicationContext完全继承BeanFactory,因而BeanFactory,所具有的语义也适用于ApplicationContext。,Spring,7,2025/4/30 周三,SSM,框架原理,Mybatis,通过MapperProxy动态代理dao,也就是说,当执行自己写的dao里面的方法的时候,,其实是对应的mapperProxy在代理。,8,2025/4/30 周三,SSM,框架原理,Mybatis,运行原理,1.,加载配置文件,将,SQL,的配置信息加载成为一个个,MappedStatement,对象,包括了参数映射配置,执行的,SQL,语句、,结果映射配置,存储在内存中。,2.SQL,解析,当,API,接口层接收到调用请求时,会接收到传入,SQL,的,ID,和传入对象,(,可以是,Map/JavaBean,或者基本,数据类型,),,,Mybatis,会根据,SQL,的,ID,找到对应的,MappedStatement,然后根据传入的参数对象,MappedStatement,进行解析,解析后可以得到最终要执行的,SQL,语句和参数。,3.SQL,执行,将最终得到的,SQL,和参数拿到数据库执行,得到操作数据库的结果。,4.,结果映射,将操作数据库的结果按照映射的配置进行转换,可以转换成,HashMap/JavaBean,或者基本数据类型,,并将最终的结果返回。,9,2025/4/30 周三,SSM,框架配置,导入,jar,包,Spring,所需,jar,包,Mybatis,所需,jar,包,其中,10,2025/4/30 周三,SSM,框架配置,基础配置,数据库基本信息配置,Mybatis,配置文件,11,2025/4/30 周三,SSM,框架配置,基础配置,Spring,基本信息配置,-,数据源,12,2025/4/30 周三,SSM,框架配置,基础配置,Spring,基本信息配置,-SessionFactory,和,Mapper,接口扫描器,13,2025/4/30 周三,SSM,框架配置,基础配置,Spring,基本信息配置,-Service,层,Bean,配置,14,2025/4/30 周三,SSM,框架配置,基础配置,Spring,基本信息配置,-,事务管理基础配置,15,2025/4/30 周三,SSM,框架配置,基础配置,SpringMVC,基本信息配置,16,2025/4/30 周三,SSM,框架配置,基础配置,Web.xml,基本信息配置,17,2025/4/30 周三,SSM,框架使用,程序执行流程图,18,2025/4/30 周三,SSM,框架使用,程序执行流程实例,19,2025/4/30 周三,附:,SSH,框架转为,SSM,框架,1.,导入,jar,包,导入,SSM,框架所需的,jar,文件,2.,配置文件,将原来原来的,Struts.xml,和,hibernate.xml,以及,domain,中的,.hbm.xml,映射文件去掉,,Spring,配置文件改为,SSM,框架中所需要的配置文件,添加,Mybatis,和,SpringMVC,的配置文件,3.Web.xml,中替换为,SSM,框架中的配置,4.Controller,层,Action,中去掉继承部分,去掉该类中的成员变量,改为方法体中的形参,类名不需要变更,请求路径,由原来的,Struts,中的配置文件的形式改为注解的形式。,5.Dao,层,Dao,层添加,DaoMapper.xml,并在配置文件中填写必要的,sql,语句,去掉原来的,Dao,层的接口的实现,将接口的,名称后面拼接,Mapper,,也就是以,Mapper,为结尾。,6.Service,层,Dao,层发生变更后,数据不一定能一次获取完成,可以根据,Dao,层的结果拼装成原来需要的所有的数据。,20,2025/4/30 周三,附:,SSH,框架转为,SSM,框架,Controller,层,21,2025/4/30 周三,附:,SSH,框架转为,SSM,框架,Dao,层,Dao,接口,Mapper.xml,配置文件,填写,SQL,语句,完成,Dao,层的相关操作,22,2025/4/30 周三,
展开阅读全文