浅谈SSM框架

4 篇文章 3 订阅

学习ssm框架(spring+springMVC+myBatis)有一段时间了,下面谈谈自己的看法


Spring框架(百科)

Spring是一个轻量级的容器框架,它的核心功能是控制反转(IoC)和面向切面(AOP);它就是一个用来生产bean的工厂

轻量级框架优点是减小开发的复杂度,缺点是处理能力弱(如事务功能弱、不具备分布式处理能力,struts也是轻量级框架)

控制反转IoC–一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象,它的作用在于解耦和

切面编程AOP–Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的–完成业务逻辑–仅此而已。

在ssm框架中spring框架起衔接springMVC和myBatis框架作用,因为业务层会调用持久层的数据库的数据处理,web层会调用业务层的业务处理。
这里写图片描述


springMVC框架(百科)

springMVC主要通过前端控制器对网页请求进行处理,它的注解十分方便,简洁化了开发和测试。

Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核心是:
处理器映射HandlerMapping:选择使用哪个控制器来处理请求 ;
视图解析器ViewResolver:选择结果应该如何渲染页面;

工作流程
这里写图片描述
(1) Http请求:客户端请求提交到DispatcherServlet。
(2) 寻找处理器:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
(3)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView。
(4)(5)处理视图映射并返回模型: DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
(6) Http响应:视图负责将结果显示到客户端


myBatis框架(百科)

myBatis是一个半自动化的持久层框架,使用者可以直接面对sql语句对数据库操作,很方便(反面这也是它的缺点,要写大量的数据库操作语句);MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
myBatis强大之处在于它的动态sql语句,不用去管数据库语句的逗号那些繁琐的东西,很方便。
myBatis的事务交给Spring管理,Spring的AOP切面编程与myBatis事务的配合十分完美,你去使用它会有种它们注定是一对的感受。
myBatis的一级缓存是sqlSession级别,默认开启;二级缓存是application级别,默认关闭。缓存针对于查找操作,对于增删改操作,缓存会被刷新。详细参考


三个框架整合流程

在ssm框架中spring框架起衔接springMVC和myBatis框架作用,因为业务层会调用持久层的数据库的数据处理,web层会调用业务层的业务处理。
这里写图片描述
因此服务器启动时,会首先加载spring容器spring配置文件中会加载myBatis对数据库的操作以及事务操作,然后加载SpringMVC容器。


下面具体从配置文件来看

首先是服务器的配置文件web.xml
这里写图片描述


一、加载spring的配置文件application.xml
这里写图片描述

进入application.xml文件中

这里首先会扫描所有的bean加载到Spring容器中,然后加载myBatis持久层以及事务,没有扫描Controller层是因为ssm框架中的SpringMVC容器会单独扫描Controller层,这样分开扫描,分工明确,条例清晰,后面会有文章单独谈扫描路径
这里写图片描述
myBatis持久层的加载
这里写图片描述
事务加载
这里写图片描述

到此Spring容器已经加载完成,可以看到Spring框架和myBatis框架的融合,下面说SpringMVC框架


二、web.xml文件加载spring完成后,继续加载SpringMVC
这里写图片描述

进入springMvc.xml文件

这里扫描只会扫描Controller层,因为SpringMVC容器是Spring容器的子容器,它可以使用Spring容器加载的东西。
这里写图片描述

由于我的配置是拦截所有请求,这里对静态资源的加载也要配置
这里写图片描述

视图解析器的配置
这里写图片描述

到这里整合算是结束,上面可能存在疏漏之处,请提出。


对于三个框架的使用,关键在于配置,大量的代码被配置优化了,Spring框架对springMvc和myBatis框架的融合,简化了整个业务流程,代码十分简洁。轻量级,速度快,效率高,这九个字形容SSM框架最好不过噢

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-小龙人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值