java的SSM简述,帮助你对spring的理解

 

  • SSM框架简介及特征

1.SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring 的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。

Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制

易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。

2.Spring

Spring Framework是一个开源的Java/Java EE全功能栈的应用程序框架, 以Apache许可证形式发布,也有.NET平台上的移植版本。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码 变得繁杂混乱的大量的属性文件和帮助类。


 轻量—从大小与开销两方面而言Spring都是轻量的。Spring非侵入式的,应用中的对象不依赖于Spring特定类。

控制反转—Spring通过一种称作控制反转的技术促进了低耦合。不是对象从容器中查找依赖,而是容器在对象 初始化时不等对象请求就主动将依赖传递给它。

面向切面—Spring提供了面向切面编程的丰富支持,通过分离应用的业务逻辑与系统级服务进行内聚性的开发。

容器—Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。

3.Mybatis

MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。 MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。其维护团队也包含iBATIS的初创成员

1. 易于上手和掌握。

2. sql写在xml里,便于统一管理和优化。

3. 解除sql与程序代码的耦合。

4. 提供xml标签,支持编写动态sql。

二.  Spring MVC运行原理

1.用户发送请求至 前端控制器DispatcherServlet。

2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping。

3.处理器映射器HandlerMapping根据请求的Url找到具体的处理器,生成处理器对象Handler及处理器拦截器 HandlerIntercepter(如果有则生成)一并返回给前端控制器DispatcherServlet。

4.前端控制器DispatcherServlet通过处理器适配器HandlerAdapter调用处理器Controller。

5.执行处理器(Controller,也叫后端控制器)

6.处理器Controller执行完后返回ModelAnView。

7.处理器适配器HandlerAdapter将处理器Controller执行返回的结果ModelAndView返回给 前端控制器DispatcherServlet。

8.前端控制器DispatcherServlet将ModelAnView传给视图解析器ViewResolver。

9.视图解析器ViewResolver解析后返回具体的视图View。

10.前端控制器DispatcherServlet对视图View进行渲染视图(即:将模型数据填充至视图中)

11.前端控制器DispatcherServlet响应用户。

Spring

Spring IOC容器,指的是控制反转,IOC容器负责实例化、定位、 配置应用程序中的对象及建立这些对象间的依赖。交由 Spring来管理这些,实现解耦

MyBatis的架构设计

1.使用传统的MyBatis提供的API       这是传统的传递Statement Id 和查询参数给 SqlSession 对象,使用 SqlSession对象完成和数据库的交互;然后根据Statement Id 和参数来操作数据库,这种方式固然很简单和实用,但是它不符合面向对象语言的概念和面向接口编程的编程习惯

2. 使用Mapper接口       由于面向接口的编程是面向对象的大趋势,MyBatis 为了适应这一趋势,增加了第二种使用MyBatis 支持接口(Interface)调用方式

Mybatis运行原理

1. 加载配置文件    

将SQL的配置信息加载成为一个个MappedStatement对象,包括了参数映射配置,执行的SQL语句、 结果映射配置,存储在内存中。

2. SQL解析    

当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map/JavaBean或者基本 数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement, 然后根据传入的参数对象 MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。

3. SQL执行    

将最终得到的SQL和参数拿到数据库执行,得到操作数据库的结果。

4. 结果映射    

将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap/JavaBean或者基本数据类型, 并将最终的结果返回。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值