简述SSH框架和SSM框架的区别

简述SSH框架和SSM框架的区别


      SSH框架是Struts+Spring+Hibernate的简称,而SSM是指的SpringMVC+Spring+MyBatis的简称。光从这两个缩写就可以看出来,如果比较两者的区别的话主要比较Struct和SpringMVC以及Hibernate和MyBatis。

一、SpringMVC 对比 Struts

  1. Struts和SpringMVC都是负责做转发的,但是两者针对request的请求上面区别很大。Struts是针对一个Action类来进行请求的,即一个Action类对应于一个请求,属于类拦截,请求的数据类共享。而SpringMVC则是针对于方法级别的请求的,也就是一个方法对应一个请求,属于方法拦截,请求的数据方法不共享。
  2. SpringMVC的配置文件相对来说较为少,容易上手,可以加快软件开发的速度。
  3. SpringMVC的入口是Servlet级别的,而 Struts 的入口是Filter级别的。

二、Hibernate 对比 MyBatis

      针对Hibernate和 MyBatis对持久化类进行操作的区别可以整理如下:

  1. Hibernate是一种O/R关系模型,即完成数据库表和持久化类之间的映射,而MyBatis是针对的SQL与Maping之间的映射。个人理解:Hibernate把数据库给封装好以后,可以调用相应的数据库操作语句HQL,而MyBatis则是用的原始的数据库操作语句。所以,Hibernate优化起来相对MyBatis较难;MyBatis入门较快,而Hibernate掌握起来相对较难。
  2. 针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。
  3. Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。

      Hibernate和 MyBatisd的更详细的比较,请查看《Hibernate与MyBatis的比较》。

三、小结

      SSH个人虽然感觉很笨重,但是对于理解MVC模型乃至IOC来说还是不错的。但是SSM则是使用起来让人感觉飞快,无论面向OOP还是面向AOP编程,都给人一种通透的快感。


参考:

  1. https://mp.weixin.qq.com/s/aggpIrweuaI_wsiCFbYoSw

你可能感兴趣的:(后端框架之SSH,SSM,SpringMVC)